[英]How to configure various node environments
我试图为不同的环境配置我的环境变量。 到目前为止,我已经定义了环境变量:
app/config.json:
"development": {
"PORT": 3000,
"APP_SECRET_KEY": "asdf",
"DB_NAME": "sadf",
"DB_USER": "sadf",
"DB_USER_PASSWORD": "asdf",
"DB_HOST": "asdf",
"DB_PORT": 5432,
"DB_SEARCHPATH": "asdf"
},
"test": {
"PORT": 3000,
"APP_SECRET_KEY": "fdas",
"DB_NAME": "fdas",
"DB_USER": "fdsa",
"DB_USER_PASSWORD": "fdsa",
"DB_HOST": "fdsa",
"DB_PORT": 5432,
"DB_SEARCHPATH": "fdsa"
}
}
此后,我不确定要在哪里/如何告诉节点在要运行的环境下使用dev或test变量。有人可以帮忙还是将我指向教程? 我还没有找到关于此的整体教程。
提前致谢。
因此,首先我建议您将配置文件更改为js并像导入其他任何模块一样导入它们,这将允许您向配置中添加逻辑。 在此示例中,我根据名为NODE_ENV的环境变量选择环境。
var config = function () {
switch(process.env.NODE_ENV) {
case 'development':
return {...}
case 'test':
return {...}
....}
module.exports = config();
这样,您不必每次都重复选择环境的逻辑。
我通常在app-boot上执行类似的操作,将动态配置复制到环境配置:
var config = require('./config');
var env = process.env.NODE_ENV || 'development';
var envConfig = config[env];
// copy config to proceed.env
for(var key in config) {
process.env[key] = config[key];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.