基于这个答案这里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' ' –