是否可以自动导出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;
也许这可以通过内省地获取模块中定义的所有函数的列表来实现,但我也不知道如何实现这一点。
答案 0 :(得分:1)
揭露模块中的事物的方法:
var foobar = function(x, y) {
this.x = x;
this.y = y;
};
module.exports = foobar;
在你的情况下:
foobar = require('foobar.js');
module.exports = foobar;
您可以阅读额外的here。
执行您需要的操作需要重载节点“require”方法,这是不可能的,请查看here。
也许您可以安装node-overload并使用方法 RePrototype 。