0

server.js に変数があります。それを「a」と呼びましょう。モジュールが必要な場合、変数 a にアクセスできません。例えば:

サーバー.js

myModule = require('./myModule.js');
var a = 'Hello!'
myModule.say();

myModule.js

exports.say = function () {
    console.log(a);
}

myModule.js が関数の引数なしで server.js の変数にアクセスできるようにするにはどうすればよいですか?

4

1 に答える 1

0

サーバー.js:

myModule = require('./myModule.js');
global.a = 'Hello!'
myModule.say();

myModule.js:

exports.say = function () {
    console.log(global.a);
}

ただし、グローバルは通常、Node.js (および一般的な JavaScript) では推奨されないことに注意してください。モジュールのポイントは、特定の機能をカプセル化することではありませんか? その場合、既存または定義されている外部変数に依存するべきではありません。

理想的には、ある種の初期化関数または構成パラメーターを介して、必要な情報をモジュールに渡します。

于 2013-09-24T00:58:46.040 に答える