2014-02-28 74 views
2

是否可以自動導出node.js模塊中定義的所有功能?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; 

也許這可以通過讓內省的模塊中定義的所有功能的列表來實現,但我也不知道如何做到這一點。

回答

1

暴露在一個模塊中的東西的一種方式:

var foobar = function(x, y) { 
    this.x = x; 
    this.y = y; 
}; 
module.exports = foobar; 

你的情況:

foobar = require('foobar.js'); 
module.exports = foobar; 

您可以閱讀額外here

編輯

做你需要什麼需要重載節點「需要」法,這是不可能的,看看here
也許你可以安裝node-overload並使用方法RePrototype

+0

謝謝你的回答,但我的意思是一種方法*自動*將模塊中定義的功能添加到'出口' – fstab

+1

看看編輯 – SirDeveloper

+1

最後的機會:嘗試節點超負荷 – SirDeveloper