javascript - 如何在node.js微服务的config.js中设置环境变量?

标签 javascript node.js

我有一个使用 graphql 构建的 node.js 应用程序。我需要检查“环境变量”以查看我所处的环境(开发、测试、生产)。基于该环境,我需要设置一个url。我想我对自己需要什么有一个模糊的想法,但不知道如何实现它。

目前我的 config.js 文件看起来像这样:

       const configuration = convict({
          env: {
              format: ['development', 'testing', 'production'],
              default: 'development',
              arg: 'nodeEnv',
              env: 'NODE_ENV'
         }

         const env = configuration.get('env');
         configuration.loadFile(`./config/${env}.json`);
         configuration.validate({allowed: 'strict'});

         module.exports = configuration.getProperties();
     )};

然后在一个单独的文件中,我实际上需要根据环境设置 url,我需要根据我所在的环境类型(开发、测试或生产)来设置 url。该文件中的代码为:

        If(env=='development'){
           const url = 'abc.def.com/xxx/yyy/zzz/graphql';
        }
        Else If (env == 'testing'){
           const url = 'xxx.yyyy.com/abc/def/ghi/graphql';
        }
        Else{
           const url = '123.abc.com/cdc/def/hhh/graphql';
        }

我尝试 console.log env 值,但是当我尝试以下操作时: console.log( 环境 );

我收到错误:引用错误:env 未定义。

有人可以指出我在访问环境变量时缺少/做错了什么吗?

最佳答案

您可以像这样访问它们:

process.env.VARIABLE_NAME

关于javascript - 如何在node.js微服务的config.js中设置环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54916816/

相关文章:

javascript - PHP 函数 HTML 输出显示在浏览器中,但不是 Javascript innerHTML

node.js - Windows 错误删除 node_modules 文件夹 : Source Path Too Long

javascript - Arduino 串行端口提供错误数据?

node.js - NodeJS Azure 网站在 HTTP POST 上返回 405

javascript - 仅从我的应用程序访问我的后端 node.js

javascript - jQuery Animate 在滚动时不起作用

JavaScript : object properties aren't recognized

javascript - Cloudant 上的 PouchDB

javascript - 计时器上的变色文本? (HTML)

javascript - 如何在 NodeJs 上创建一个包含 2 亿个元素的数组?