我正在使用 Yeoman/bower/grunt 构建一个角度应用程序。该应用程序在工头上完美运行。在我搜索堆栈上的类似问题时,大多数其他人只是忘记创建他们的 Procfile 或在运行应用程序的 app.js 中有错误。但是我有这两个,我无法弄清楚它们有什么问题,比如工头工作而不是heroku。当我部署到heroku并打开它时,我在日志中得到了这个:
2013-10-02T19:33:56.159151+00:00 heroku[api]: Deploy b417d22 by richardadavila@gmail.com
2013-10-02T19:33:56.202052+00:00 heroku[api]: Release v10 created by richardadavila@gmail.com
2013-10-02T20:38:51.350572+00:00 heroku[web.1]: Idling
2013-10-02T20:38:57.626159+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2013-10-02T20:39:02.097317+00:00 heroku[web.1]: State changed from up to down
2013-10-02T20:39:02.079612+00:00 heroku[web.1]: Process exited with status 143
2013-10-02T22:00:00.360769+00:00 heroku[web.1]: Unidling
2013-10-02T22:00:00.361135+00:00 heroku[web.1]: State changed from down to starting
2013-10-02T22:00:04.049439+00:00 heroku[web.1]: Starting process with command `node app.js`
2013-10-02T22:00:06.128657+00:00 app[web.1]: server started 40741
2013-10-02T22:00:06.164522+00:00 heroku[web.1]: State changed from starting to up
2013-10-02T22:00:07.479644+00:00 heroku[router]: at=info method=GET path=/ host=rickydavila-kpopbetter-s.herokuapp.com fwd="71.144.19.194" dyno=web.1 connect=9ms service=30ms status=404 bytes=22
没有错误(我可能不完全理解日志),它只是杀死了应用程序。
我的 Procfile 说:“节点 app.js”
我的 app.js 文件创建了一个快速服务器来运行应用程序是:
var express = require('express');
var path = require('path');
var app = express();
app.configure(function(){
'use strict';
app.use(express.bodyParser());
app.use(express.static(path.join(__dirname, 'dist')));
});
var port = process.env.PORT || 5000;
app.listen(port, function() {
'use strict';
console.log('server started '+port);
});
Grunt 将应用程序构建到我上面引用的 dist 文件夹中。上面有什么明显的错误吗?当我打开 heroku 应用程序 url 时,页面状态:Cannot GET /
哦,我也缩放了测功机,因为其他一些问题没有做到。据我所知,我并没有对端口进行硬编码。