2

我正在使用 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 /

哦,我也缩放了测功机,因为其他一些问题没有做到。据我所知,我并没有对端口进行硬编码。

4

1 回答 1

10

弄清楚了。始终检查您的 .gitignore 文件!我忘记从文件中删除 dist 并且它没有被提交或推送到 heroku。

于 2013-10-03T18:22:40.733 回答