我使用config library在节点应用程序中管理我的配置文件。
我已经在终端中通过以下方式导出了我的自定义环境变量
export app_password=12345
并通过
将其映射到custom-environment-variable.json
文件中
{
"mail": {
"password": "app_password"
}
}
当我在index.js文件(根模块)中使用config.get('mail.password')
时。
我得到了error: Configuration property "mail.password" is not defined
,详细信息如下:
/Users/tzhong/Documents/vidly-
backend/node_modules/config/lib/config.js:203
throw new Error('Configuration property "' + property + '" is not
defined');
^
Error: Configuration property "mail.password" is not defined
at Config.get (/Users/tzhong/Documents/vidly-
backend/node_modules/config/lib/config.js:203:11)
我已经使用console.log(process.env.app_password)
检查我的自定义env变量是否在那里,并且app_password显示在终端中。
Vidly evn is : Vidly backend -- development
Vidly mail server is : dev-mail-server
Mail-password is : 12345
NODE_ENV is : undefined
app: development
Mongan enabled...
Listenning 3000 port ...
我想使用console.log(config.get('mail.password'));
在终端而不是console.log(process.env.app_password)
中显示我的自定义变量
有什么建议吗?
答案 0 :(得分:1)
在nodejs
中执行此操作的正确方法是利用.env
文件。在根目录下创建一个.env
文件。将环境变量及其值保留在key=value
格式下,例如password=app_password
在主入口文件中,需要dotenv
包,并在需要所有模块后立即在顶部加载dotenv.configure()
的env变量。有关更多详细信息,请参见here。
答案 1 :(得分:1)
使用多个“变量”将文件名重命名为“ custom-environment-variables.json”。
答案 2 :(得分:0)
使用 .env 代替使用配置。只需输入 npm install --save dotenv
password=some value
您可以通过以下方式访问它
require("dotenv").config();
console.log(`Password is ${process.env.password}.`);
//Output
Password is *some value*