2012-05-20 8 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 
} 

なぜ、100万の定数をエクスポートする必要がありますか?

+0

のよう

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

name becomes x1.name 

//本体を検索し、置き換えるためにあなたの好きなエディタでマクロを作成するため、これはコードを複製し(DRY、エラーを招く)、さらには醜いものです。私は各サブモジュールにコピー&ペーストできる自動化ソリューションを好むだろう。 – user124114

+0

あなたのコードを再構築するためにいくつかのトリックが必要だと思います。 replace = to:および; 〜、 –

1

すべてのローカル変数をエクスポートしないと仮定します。

最近、私はこの1つを自動化することに慣れていますが、今のところこの手法をよく使用します。

var x1 = { shouldExport: true } ; 

//モジュール

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] ; } 
関連する問題