为什么我的heroku node.js应用程序给出=错误代码= H10 desc =“应用程序崩溃”方法= GETpath=“/”?

我正在尝试在Heroku上运行我的简单节点应用程序。

这是目录结构

├── app.js ├── assets ├── blog.html ├── index.html ├── node_modules └── package.json 

这是我的app.js

 let express = require('express'), path = require('path'); var app = express(); let server = require('http').Server(app); app.use(express.static(path.join(__dirname))); app.get('/', function(req, res, next){ res.sendStatus(200); }); app.get('/blog.html', function(req, res,next){ res.sendFile(path.join(__dirname+"/blog.html")); }); app.post('/contact', function(req, res, next){ }); server.listen('8000', function() { console.log("App is running on port 8000"); }); 

这是package.json

 { "name": "website", "version": "1.0.0", "engines" : { "node" : "6.3.1", "npm" : "3.10.3" }, "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start" : "node app.js" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "express": "^4.14.0" } } 

当我去控制台它正确地打印应用程序开始在xxxx端口。 但是,然后该应用程序崩溃与以下消息

 2016-08-10T13:12:49.839138+00:00 app[web.1]: App is running on port xxxx 2016-08-10T13:13:34.944963+00:00 heroku[router]: at=error code=H20 desc="App boot timeout" method=GET path="/" host=saras-website.herokuapp.com request_id=28d8705a-d5a4-4aaa-bd8d-4c4c6101fbd4 fwd="106.51.20.181" dyno= connect= service= status=503 bytes= 2016-08-10T13:13:48.295315+00:00 heroku[web.1]: State changed from starting to crashed 2016-08-10T13:13:48.552740+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=saras-website.herokuapp.com request_id=b77e151f-7017-482d-b4ba-15d980534fd7 fwd="106.51.20.181" dyno= connect= service= status=503 bytes= 2016-08-10T13:13:50.163466+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=saras-website.herokuapp.com request_id=1e7b57e5-1056-4cb3-b41f-cd3f11794efe fwd="106.51.20.181" dyno= connect= service= status=503 bytes= 

我不知道我在这里做错了什么…帮助表示赞赏

像这样设置端口

 var port = process.env.PORT || 8000 

 server.listen(port, function() { console.log("App is running on port " + port); }); 

这允许Heroku在运行时设置端口。