Heroku忽略了Node.js应用的app.json中的配置变量和数据库

我试图在配置文件 app.json 中为部署到Heroku的Node.js应用设置配置/环境变量,但是当我尝试在自己的Node中访问该变量时,该变量未定义.js代码。我设法找到一个不起作用的非常简单的示例:

  • 下载Node.js“官方”非常简单的示例:

    $ git clone https://github.com/heroku/node-js-getting-started.git
    $ cd node-js-getting-started
    
  • 编辑 app.json 并将其添加到末尾:

      ...
      "image": "heroku/nodejs","env" : {
        "MYVAR": "12345" 
      }
    }
    
  • index.js 的最后一行替换为:

      .listen(PORT,() => console.log(`Listening on ${ PORT },var is ${ process.env.MYVAR }`))
    
  • 部署到Heroku:

       $ heroku create
       $ git add . & git commit -s "changes" & git push heroku master
       $ heroku open
    

现在,我在日志中得到“在24619上监听,var未定义”。我怀疑 app.json 被忽略了,因为如果我添加

       "addons": ["heroku-postgresql:hobby-dev"]

然后,没有数据库链接到该应用程序。但是,如果我在终端中运行,一切都会按预期进行:

        $ heroku addons:create heroku-postgresql:hobby-dev
        $ heroku config:set MYVAR=12345

为什么尽管清单中包含信息,但仍未定义config var且未为应用初始化数据库?

zz315274061 回答:Heroku忽略了Node.js应用的app.json中的配置变量和数据库

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3080225.html

大家都在问