我已经从使用 dotcloud 切换到了 heroku。我正在使用 nconf 进行配置。我已经设置它首先从环境变量中获取,如果没有,则从 config.json 文件中获取。在本地主机上这工作正常。对于我的内部版本号,我将它存储在配置文件中,而不是存储在环境变量中,这样我就可以在推送时设置它,然后不必更改环境。

应用程序咖啡

nconf.argv().env().file file: "./config.json"

配置文件
{
    "APP_BUILD_NUMBER": "1.0.0"
}

如果我在本地或在 dotcloud 上运行它,如果我这样做,nconf 会正确传递 1.0.0
nconf.get("APP_BUILD_NUMBER")

但是,在 heroku 上,它返回 undefined。如果我确实在环境变量中设置了它,那么它确实有效。我想知道我做错了什么。

最佳答案

尝试删除路径的“./”部分:

nconf.argv().env().file file: "config.json"

如果这不起作用,请尝试
nconf.argv().env().file file: __dirname + "/config.json"

关于node.js - nconf 未从 heroku 上的文件加载,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22428957/

10-11 03:29