简体   繁体   中英

nconf not loading from file on heroku

I have switched over from using dotcloud to heroku. I am using nconf for my configuration. I have it setup that it first grabs from the environment variables, and if not there, then it grabs from the config.json file. On localhost this is working fine. For my build number, I store it in the config file, not in the environment variable, so that I can set it on push and then not have to change the environment.

app.coffee

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

config.json

{
    "APP_BUILD_NUMBER": "1.0.0"
}

If i run this locally or on dotcloud, nconf correctly passes 1.0.0 if I do

nconf.get("APP_BUILD_NUMBER")

but, on heroku, it returns undefined. If I do set it in the environment variables, then it does work. I am wondering what I am doing wrong.

Try removing the './' portion of the path:

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

If that doesn't work, try

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

I would recommend running heroku run bash then entering the Node REPL and trying multiple paths until you figure out what is different. Making a change and then waiting for a push is too tedious a debug cycle. I suspect your issue is around the path, or perhaps not unsetting the environment variable.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM