基於這個答案這裏https://stackoverflow.com/a/22524056/777700我已經設置完全相同的配置選項,但它不起作用。nodeJS開發和生產環境配置文件加載
我的(局部的)app.js文件:
console.log('environment: '+process.env.NODE_ENV);
const config = require('./config/db.json')[process.env.NODE_ENV || "development"];
console.log(config);
我./config/db.json文件:
{
"development":{
"host":"localhost",
"port":"3306",
"username":"root",
"password":"",
"database":"dbname"
},
"production":{
"host":"production-host",
"port":"3306",
"username":"user",
"password":"pwd",
"database":"dbname"
}
}
CONSOLE.LOG輸出:
environment: development
undefined
和應用程序崩潰。任何想法爲什麼?文件在那裏,如果我刪除require()的一部分,它會打印出db.json文件,並用它打印出未定義的文件。
編輯 我嘗試添加console.log(typeof config)
只是需要()後,看看有什麼我得到我已經注意到,如果我require('./config/db.json')[process.env.NODE_ENV]
我得到undefined
,但如果我require('./config/db.json')["development"]
我找回正確的對象。
版本:
nodeJS 6.11.4
express 4.16.2
請告訴我你在嘗試什麼,因爲它好像你還沒有定義你的NODE_ENV環境值... –
它應該在你的bashrc文件中,或者你可以像這樣'''NODE_ENV = development node app.js' ' –