我在Express应用程序的类中定义了一个javascript文件。
import dotenv from 'dotenv';
dotenv.config();
class Settings {
static getSettings() {
const activeEnvironment = process.env.NODE_ENV;
console.log('active ', activeEnvironment)
const settings = {
development: {
databaseName: 'foods',
},
production: {
databaseName: 'foods',
},
test: {
databaseName: 'testdb'
}
};
settings[activeEnvironment] // returns undefined
return settings[activeEnvironment];
}
}
export default Settings;
但是我遇到的问题是settings[activeEnvironment]
返回undefined
。我已在我的启动脚本NODE_ENV
set NODE_ENV=production & node --require @babel/register ./bin/www
任何人都可以指出我做错了什么。我对javascript有点陌生。
谢谢。
答案 0 :(得分:0)
您需要检查const activeEnvironment = process.env.NODE_ENV;
的值是否为3个值之一
development, production, test
。
如果该值不在列表settings[activeEnvironment]
中,则返回undefined。
const activeEnvironment = 'test';
console.log('active ', activeEnvironment)
const settings = {
development: {
databaseName: 'foods',
},
production: {
databaseName: 'foods',
},
test: {
databaseName: 'testdb'
}
};
console.log(settings[activeEnvironment])