我知道这可能是一个初学者的问题,但我到处都看了看,我仍然遇到问题。
我有一个我在本地运行的Node API。我唯一需要做的就是在终端中运行:
$ mongod
然后
$ node src/loader.js
所以,我将我的代码上传到Heroku并添加到我的package.json:
"scripts": {
"start": "node src/loader.js"
}
但是当我跑来跑去' $ heroku ps'它说我的过程崩溃了。我本地构建和Heroku构建之间的区别是什么?
添加我的Heroku日志--tail。
2018-02-05T19:19:17.648257+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
2018-02-05T19:19:17.648257+00:00 heroku[web.1]: Stopping process with SIGKILL
2018-02-05T19:19:17.732544+00:00 heroku[web.1]: Process exited with status 137
答案 0 :(得分:1)
首先查看来自终端'heroku logs --tail'的heroku日志,如果您需要更多详细信息,可以访问heroku中的应用程序,并在右上角查看heroku平台中的日志。 / p>
如果您可以发布一些日志,那么如果您无法从评论中获取,那将有助于告知出现了什么问题。
答案 1 :(得分:0)
所以,我发现了这个问题。 Heroku动态地为您的应用分配一个端口,因此您无法将端口设置为固定数字,并且在我的代码中我分配给端口:'3000'。
所以你需要改为
var port = process.env.PORT || 3000;