繁体   English   中英

如何配置各种节点环境

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM