javascript - 如何在 node.js 微服务的 config.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,我需要根据我所处的环境类型(开发、测试或生产)来设置。该文件中的代码将是:
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 环境值,但是当我尝试以下操作时: console.log( env );
我收到一个错误:参考错误:未定义环境。
有人可以指出我在访问 env 变量时缺少/做错了什么吗?
解决方案
您可以像这样访问它们:
process.env.VARIABLE_NAME
推荐阅读
- curl - curl 给出一个空的响应
- reactjs - 如何使用useeffect获取坐标?
- azure - Azure 创建 servicePrincipal 导致一个或多个属性包含无效值
- json - 发出循环的 HTTP 请求
- git - Git 在连接 (.) 或字符串中使用未初始化的值 $branchName
- symfony - 无法在 Assetic 配置中覆盖 NodeJS 二进制文件的路径
- java - Eclipse Workbench 选择工作区
- javascript - 在 Python 中编辑 javascript 文件时出现问题
- c# - 为什么更改 IIS Express 项目 URL 在 ASP.NET MVC 4.7.2 中不起作用?
- python - 使用 pyglet 绘制多边形会创建不需要的重叠区域