node.js モジュールでこれを行うと、次のようになります。
var abc = '123';
それはどこに行くのですか?つまり、ブラウザでそれが入りますwindow.abc
(関数またはその他で実行されない場合)
これを実行すると:
abc = '123';
その後、で見つけることができますが、それはglobal.abc
私が望む方法ではありません。
node.js モジュールでこれを行うと、次のようになります。
var abc = '123';
それはどこに行くのですか?つまり、ブラウザでそれが入りますwindow.abc
(関数またはその他で実行されない場合)
これを実行すると:
abc = '123';
その後、で見つけることができますが、それはglobal.abc
私が望む方法ではありません。
変数がデフォルトでグローバル空間 (つまりウィンドウ) に割り当てられるブラウザとは異なり、Node では、明示的に module.exports に割り当てない限り、変数はモジュール (ファイル) にスコープされます。
実際、実行すると、node myfile.js
またはrequire('somefile.js')
ファイル内のコードが次のようにラップされます。
(function (exports, require, module, __filename, __dirname) {
// your code is here
});
ノードにはモジュールスコープがあるため、モジュール内では、そのモジュールにスコープが設定var abc = '123'
された (したがって、コード内のコードにのみ到達可能な) 変数が作成されます。