1

Javascript で定数を作成することについてどう思いますか。最善の方法でやりたいと思っています。定数が実際には存在しないことは知っていますが、これを書いたので、エクスポート後に値を変更できませんでした。

定数は必要ですか?

回避策はありますか?

それらをグローバルに使用するにはどうすればよいですか (require('const') なしで); ?

// Const
var constants = {
    'PATH1' : __dirname + '/path..../',
    'PATH2' : __dirname + '/path/..../'
};
module.exports = function(key) {
    return constants[key];
};
//console.log(constants('PATH1'));

これらの質問に対するあなたの考えなど、フィードバックをいただければ幸いです。

良い一日を。

4

2 に答える 2

3

正当な理由により、ノードでグローバルを使用するのは醜く/困難です。グローバルは悪いです。

あなたが望むことをするのは次のように簡単です:

// config.json
module.exports = {
  somePath:    "/foo",
  anotherPath: "/foo/bar"
};

ファイルで使用する

// a.js
var config = require("./config");
config.somePath; //=> "/foo"

別のファイルで使用

// b.js
var config = require("./config");
config.anotherPath; //=> "/foo/bar"

つい最近、別の質問で、node.js でグローバルを使用することが完全に不要であることについて詳しく説明しました。

于 2013-08-18T16:58:29.113 に答える
0

これは悪い考えですが、実行できます。これは Node.js でのみテストしました。ブラウザで動作する場合と動作しない場合があります。代用すればブラウザで確実に動作するかもしれませんglobalwindow

どうぞ:

app.js:

Object.defineProperty(global, 'myConst', {
  get: function() {
    return 5;
  }
})

myConst = 6

console.log(myConst) //5

次のように実行します。

node app.js

v0.10.3 でテスト済み。

于 2013-07-26T15:56:12.973 に答える