在node.js模块中自动导出函数
是否有可能自动导出在node.js模块中定义的所有function?
例:
假设在文件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
换句话说,我想逐步添加新的function到模块,而不必手动添加到导出字典。 所以,以下是我想要避免的 :
exports.foo = foo; exports.bar = bar;
也许这可以通过内省的模块中定义的所有function的列表来实现,但是我也不知道如何实现这个function。
一种暴露模块中的东西的方法:
var foobar = function(x, y) { this.x = x; this.y = y; }; module.exports = foobar;
在你的情况下:
foobar = require('foobar.js'); module.exports = foobar;
你可以在这里阅读。
编辑
做你需要的东西需要超载节点“需求”的方法,这是不可能的,看看这里 。
也许你可以安装节点重载和使用方法RePrototype 。