是否可以自动导出node.js模块中定义的所有函数?
示例:
假设在文件 foobar.js
中我有以下两个函数
function foo() {
...
}
function bar() {
...
}
是否存在将它们自动添加到 exports
字典中以便可以执行以下代码的工具?
foobar = require('foobar.js')
foobar.foo(); // works, even if not explicitly added in 'exports'
foobar.bar(); // also works
换句话说,我想逐步向模块中添加新功能,而不必手动将它们添加到导出字典中。因此,以下是我要避免的情况:
exports.foo = foo;
exports.bar = bar;
也许这可以通过内省(introspection)地获取模块中定义的所有函数的列表来实现,但我也不知道如何实现。
最佳答案
一种在模块中公开事物的方法:
var foobar = function(x, y) {
this.x = x;
this.y = y;
};
module.exports = foobar;
在你的情况下:
foobar = require('foobar.js');
module.exports = foobar;
您可以阅读额外的 here .
编辑
做你需要做的事情需要重载 Node “require”方法,这是不可能的,看看here .
也许你可以安装 node-overload并使用方法RePrototype。
关于javascript - node.js 模块中的自动导出函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22098343/