2012-05-20 62 views
6

我的node.js模塊太大了,所以我將它分成幾個較小的(子)模塊。導出node.js中的所有對象

我複製&粘貼的所有物體都清晰到每個子模塊組成,現在看起來像

var SOME_CONSTANT = 10; 

function my_func() { etc... }; 

現在我想一切都在每個子模塊,大批出口,而不必明確說exports.SOME_CONSTANT = SOME_CONSTANT一百萬次(我發現這既醜陋又容易出錯)。

達到此目的的最佳方法是什麼?

回答

0
module.exports = { 
    SOME_CONSTANT_0 : SOME_CONSTANT_1 , 
    SOME_CONSTANT_1 : SOME_CONSTANT_2 , 
    SOME_CONSTANT_2 : SOME_CONSTANT_3 
} 

那麼爲什麼你需要那個「百萬」不變的出口?

+0

因爲這複製代碼(DRY,邀請錯誤),加上是醜陋的。我更喜歡自動化的解決方案,我可以複製並粘貼到每個子模塊中。 – user124114

+0

我認爲你需要一些技巧來重建你的代碼,例如替換=:和;至 , –

1

我假設你不想導出每個局部變量。

我會繞過這些天的自動化,但現在我經常使用這種技術。

var x1 = { shouldExport: true } ; 

//創建一個在您喜愛的編輯器宏搜索和替換模塊,使

x1.name = value ; // instead of var name = value 

name becomes x1.name 

//主體

for (var i in x1) { exports.better_longer_name[i] = x1[i] ;} 
//or if you want to add all directly to the export scope 
for (var i in x1) { exports[i] = x1[i] ; }