获取Node.js函数定义

埃文

我想从js文件中收集已定义函数的源代码。这些功能可能很复杂,并且具有许多打开和关闭括号,因此使用正则表达式将很困难。我只需要稍后在代码中可调用的函数,如下所示

function dump_vars() {
    Object.keys(global).forEach(function (key) {
        console.log(key);
        console.log(global[key]);
    });
}

有没有办法从node.js中获取函数定义?它们是否可能像全局对象一样保存在某个地方?

保罗·穆格尔

如果可以访问函数对象,则可以使用.toString()方法获得其定义根据Mozilla的文档

即,toString反编译该函数,并且返回的字符串包括function关键字,参数列表,花括号和函数主体的源。

例如,假设您在中定义了一个模块mymodule.js

function add (a, b) {
    return a + b;
};

function mul (a, b) {
    return a * b;
};

module.exports = {
    a: add,
    b: mul
};

然后,在index.js

var mymodule = require('./mymodule.js')

Object.keys(mymodule).forEach(function (fun) {
    console.log(mymodule[fun].toString());
})

这将输出:

$ node index.js
function add(a, b) {
    return a + b;
}
function mul(a, b) {
    return a * b;
}

编辑:例如,这是AngularJS通过.toString()获取函数代码以知道函数参数名称的方式来实现依赖项注入的方法看到这个相关的答案

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取Node.js函数定义

来自分类Dev

Node.js NPM MSSQL函数返回未定义

来自分类Dev

如何使用node.js运行oracle用户定义的函数

来自分类Dev

在月球函数NODE JS之外未定义变量ID

来自分类Dev

模块函数在Node.js中返回未定义

来自分类Dev

自定义函数成功响应/ node.js

来自分类Dev

Node.js NPM MSSQL函数返回未定义

来自分类Dev

Node.js TypeError:未定义不是函数

来自分类Dev

node.js函数返回未定义的值

来自分类Dev

获取未定义的node.js代码

来自分类Dev

Node.js从MongoDB获取请求返回未定义

来自分类Dev

获取行号以获取Node.js错误

来自分类Dev

Node js模块如何获取导出函数列表

来自分类Dev

Node.js Lambda请求函数获取411长度要求

来自分类Dev

Node JS Azure函数在发布方法后获取响应数据

来自分类Dev

node js mongodb 获取数据

来自分类Dev

PHP获取定义的函数的参数

来自分类Dev

获取函数的模块(定义的独立)

来自分类Dev

在Node.js中获取终端的宽度

来自分类Dev

通过Express从Node.js获取数据

来自分类Dev

Node.js:从请求获取路径

来自分类Dev

Node js的多个路由获取套接字

来自分类Dev

如何获取Node.js请求类型?

来自分类Dev

使用Node JS从时区获取时间

来自分类Dev

Node.js https获取请求ECONNRESET

来自分类Dev

如何从Node js中的“ then”中获取数据?

来自分类Dev

Node.JS + Apache-无法获取

来自分类Dev

获取不带msi的Windows的node.js

来自分类Dev

Node.js SQL数据获取