![](/img/trans.png)
[英]How to retain the name of the current source file while doing a WebPack bundling?
[英]How to retain function name from eslint Source Code?
我想将 Javascript 方法的实现存储在数据库中。 要将 function 存储为 JSON 解析字符串,我使用的是 ESlint 的 SourceCode 模块。 在我的代码中,我有一些看起来像这样的东西:
let r = require(file);
mapObj.set(id, {
id,
fn: SourceCode.splitLines(r.toString()),
});
这适用于 function 声明,即:
function foo() {}
但是对于 function 表达式,即:箭头函数,function 表达式:
const foo = (a, b, c) => {}
const foo = function(a,b,c) {}
它不会保留 function 名称,如下所示:
"(a, b, c) => {",
" .....
"}"
如果这是来自 ESLint 的配置,我无法找到它。 任何帮助,将不胜感激!
如果 function 有名称,您可以在.name
属性中查找它。
例如
let r = require(file);
mapObj.set(id, {
id,
name: r.name,
fn: SourceCode.splitLines(r.toString()),
});
请参阅: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name
const foo1 = (a, b, c) => {} const foo2 = function(a,b,c) {} console.log(foo1.name, foo1.toString()); console.log(foo2.name, foo2.toString());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.