6

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

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

var SOME_CONSTANT = 10;

function my_func() { etc... };

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

实现这一目标的最佳方法是什么?

4

2 回答 2

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] ; }  
于 2012-05-21T09:29:42.197 回答
0
module.exports = {
    SOME_CONSTANT_0 : SOME_CONSTANT_1 ,
    SOME_CONSTANT_1 : SOME_CONSTANT_2 ,
    SOME_CONSTANT_2 : SOME_CONSTANT_3
}

那么为什么你需要那个“百万”常数来出口呢?

于 2012-05-20T15:46:39.230 回答