我正在使用 mongo 连接字符串和 jwt 键的节点配置模块。
例如:
if(!config.get('jwtPrivateKey')){
throw new Error('FATAL ERROR: jwtPrivateKey is not defined');
My custom-environment-variables.json
文件看起来像:
{
"jwtPrivateKey": "video-app_jwtPrivateKey",
"db": "video-app_db"
}
default.json
{
"db": "default db",
"jwtPrivateKey": "default key"
}
production.json
{
"db": "production db",
"jwtPrivateKey": "production key"
}
长话短说 - 尽管环境变量是在heroku中设置的,但node-config不会查看中设置的值custom-environment-variables.json
。我可以更改 NODE_ENV 并获取相关 json 文件的硬编码值,但从未使用环境变量,这似乎与文档相矛盾
我遇到过同样的问题。需要从键中删除连字符,heroku 才能从自定义环境变量中读取。
所以自定义环境变量.json:
{
"jwtPrivateKey": "video-app_jwtPrivateKey",
"db": "video-app_db"
}
Becomes:
{
"jwtPrivateKey": "videoapp_jwtPrivateKey",
"db": "videoapp_db"
}
Heroku docs https://devcenter.heroku.com/articles/config-vars:
配置变量策略
- 配置 var 键应仅使用字母数字字符和下划线字符 (_),以确保可以从所有
编程语言。配置变量键不应包含连字符
特点。
- 每个应用程序的配置变量数据(所有键和值的组合)不能超过 32kb。
- 配置 var 键不应以双下划线 (__) 开头。
- 配置变量的键不应以 HEROKU_ 开头,除非它是由 Heroku 平台本身设置的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)