4
ノードのグローバル変数にGLOBAL
オブジェクトのプロパティとしてアクセスできます。オブジェクトとしてNodeJSモジュールスコープ変数にアクセス
同様の方法でモジュールスコープ変数にアクセスできますか?
var fns_x = function(){/*...*/};
var fns_y = function(){/*...*/};
function aFn(param){
/* moduleScope = something that allows me to access module scope variables */
if(moduleScope['fns_' + param]){
moduleScope['fns_' + param]();
}
}
/*...*/
module.exports = /*...*/
オブジェクトにこれらの変数をラップする方がよいでしょうか?例えば
var fns = {
x: x = function(){/*...*/},
y: x = function(){/*...*/}
}
function aFn(param){
if(fns[param]){
fns[param]();
}
}
/*...*/
module.exports = /*...*/
「fns」をエクスポートしないでください(2番目の例を少し修正してください)。私は、関数が宣言されているかどうかをチェックする関数の必要性は見当たりません。 – Andy
ちょうど同じ問題が発生しました。ディレクトリを読み込み、そのファイルのすべてをモジュールスコープの変数として必要としますが、それらをラップしたくありません。 – Megakoresh