2017-11-10 25 views
1

異なる環境設定で異なる設定を使用できるようにするために、configパッケージ(npm install config)を使用しようとしています。 私はそれをWindows 10で実行しています。node.js config npm - NODE_CONFIG_ENV

configフォルダの下にdefault.json、development.json、production.json、qa.jsonの4つのファイルがあります。

たとえば、SET NODE_ENV=productionを実行しているときは、それは に適用されますが、configは正しいファイルから情報を引き継ぎません。

var config = require('config'); 
var port = config.get('appPort'); 

私はいくつかの読書をして、別の値 - NODE_CONFIG_ENVを見つけました。 私はいくつかのテストを行って:

console.log('NODE_CONFIG_ENV: ' + config.util.getEnv('NODE_CONFIG_ENV')); 
console.log('NODE_ENV: ' + config.util.getEnv('NODE_ENV')); 

そして、configを選択するファイルを決定する代わりにそれを使用しているようですので、NODE_CONFIG_ENVが問題の原因であると思われます。

私の質問はどうすればconfigをもう一度NODE_ENVにすることができますか?
代わりにNODE_CONFIG_ENVを設定するにはどうすればいいですか?

+0

環境を設定しているので、コード内のその環境を確認する方法が必要です。 このようなもの: 'if(process.env.NODE_ENV === 'production'){//何か}' –

答えて

1

はここ

"scripts": { 
    "dev": "SET NODE_CONFIG_ENV=development&&SET NODE_ENV=development&& nodemon server.js", 
    "qa": "SET NODE__CONFIG_ENV=qa&&SET NODE_ENV=qa&& node server.js", 
    "prod": "SET NODE_CONFIG_ENV=production&&SET NODE_ENV=production&& node server.js", 
} 

は、私はそれを使用して戻った場合に NODE_ENVを追加しましたが、全体的に、私はまだそれが NODE_CONFIG_ENV代わりの NODE_ENVを使用した原因を把握didntは、部分的なソリューションです。

編集:理由を見つけました。先に使ったcross-envという別のnpmパッケージが原因でした。

関連する問題