这是我的节点应用index.js
:
const express = require('express');
const app=express();
const port=8000;
app.listen(port,()=>{
console.log('live on port '+port);
});
app.get('/',function(req,res){
res.send('this is the main homepage GET response');
});
当我使用
在本地运行时node index.js
它按预期工作;我收到一条控制台消息:
live on port 8000
然后当我在浏览器中打开http://localhost:8000
时,我看到了
this is the main homepage GET response
但是当我部署到Heroku时,我只是得到了#34;应用程序错误"。如果我注释掉app.listen()
并重新部署,也会发生同样的情况。
崩溃的Heroku日志显示:
2018-01-06T23:41:12.121338+00:00 heroku[web.1]: State changed from crashed to starting
2018-01-06T23:41:14.907585+00:00 heroku[web.1]: Starting process with command `node index.js`
2018-01-06T23:41:18.142788+00:00 heroku[web.1]: Process exited with status 0
2018-01-06T23:41:18.159613+00:00 heroku[web.1]: State changed from starting to crashed
不是很有用;如何获得有关此崩溃的更精确的调试信息?
答案 0 :(得分:0)
基于this answer,我将环境变量用于app.listen()
中指定的端口,并且它起作用了:
const port=process.env.PORT;
app.listen(port,()=>{
console.log('live on port '+port);
});