导出node.js中的所有对象

我的node.js模块太大了,所以我把它分成几个较小的(子)模块。

我将所有相关对象复制并粘贴到每个子模块中,现在看起来像

var SOME_CONSTANT = 10; function my_func() { etc... }; 

现在我想要导出每个子模块中的所有内容,而不必明确说exports.SOME_CONSTANT = SOME_CONSTANT一百万次(我觉得既丑陋又容易出错)。

达到这个目标的最好方法是什么?

我假设你不想导出每个本地variables。

这些日子里,我会绕过这个自动化,但现在我经常使用这种技术。

  var x1 = { shouldExport: true } ; 

//在你最喜欢的编辑器中创build一个macros来search和replace

 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] ; } 
 module.exports = { SOME_CONSTANT_0 : SOME_CONSTANT_1 , SOME_CONSTANT_1 : SOME_CONSTANT_2 , SOME_CONSTANT_2 : SOME_CONSTANT_3 } 

那么为什么你需要这个“百万”不变的出口?