在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