2016-10-15 8 views
1

私はworker.jsというファイルを持っており、いくつかの変数の値を定期的に更新しています。 Node.jsサーバーの他のファイルで、それらのvarsにアクセスしたいです。Node.jsで変数をエクスポートするための推奨される方法

エクスポートする方法はわかりましたが、価値によってエクスポートされたようです。つまり、require機能を発行した時点の価値があります。

もちろん、最新の値にアクセスすることに興味があります。 これを行うにはどうすればよいでしょうか? "ゲッター"機能なのか、それとも?参照することによって、それらをエクスポートする

答えて

2

可能な方法は、実際にmodule.exportsオブジェクトを操作することである - ので、同じよう:

//worker.js 
module.exports.exportedVar = 1; 
var byValueVar = 2; 

setInterval(foo, 2000); 

function foo() { 
    module.exports.exportedVar = 6; 
    x = 8; 
} 

//otherfile.js 
var worker = require('./worker'); 
console.log(worker.exportedVar); //1 
console.log(worker.byValueVar) //2 

setInterval(foo, 3000); 

function foo() { 
    console.log(worker.exportedVar); //6 
    console.log(worker.byValueVar); //2 
} 
+0

は、私の知る限り理解し、それが参照*で*それらをエクスポートする方法はありませんが、我々は」価値が変わるたびにそれらを「再輸出」するつもりです。つまり、私はvarのローカルコピーを持っていませんが、私は "exported"に直接作業しています。それは良い/推薦されたpraticeですか? – Mark

+0

さて、もしそれらのヴァールが輸出目的のものであれば、それは間違いありません。それが内部使用のためであれば、おそらくゲッター関数がより正しいアプローチです –