2013-10-02 87 views
3

我正在使用Yeoman/bower/grunt構建一個角度應用程序。該應用程序在工頭上完美運行。在我搜索堆棧中的類似問題時,大多數其他人只是忘記創建他們的Procfile,或者在運行應用程序的app.js中發生錯誤。但我有這兩個,我不知道他們有什麼問題,這樣的工頭,而不是heroku。當我部署到Heroku的,打開它,我得到這個在日誌中:Node.js應用程序適用於工頭,但不適用於heroku。 404錯誤

2013-10-02T19:33:56.159151+00:00 heroku[api]: Deploy b417d22 by [email protected] 
2013-10-02T19:33:56.202052+00:00 heroku[api]: Release v10 created by  [email protected] 
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」

創建一個Express服務器運行應用程序我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); 
}); 

咕嚕構建應用程序到我的DIST的文件夾,其我參考上面。上面有任何明確的錯誤當我打開heroku應用程序的網址時,頁面狀態如下:不能獲取/

哦,我還縮放了其他一些問題沒有做到的dynos。據我所知,我不是硬編碼的港口。

回答

10

想通了。總是檢查你的.gitignore文件!我忘了從文件中刪除dist,它沒有被提交或推送到heroku。

+1

非常感謝你,和我一樣,我一直在尋找解決方案。我希望能夠設置這個,所以我不需要對repo進行分類,只需要travis從我的源代碼構建和部署即可。你有什麼想法如何做到這一點,或者如果這是一個好/壞主意? –

+0

對Travis沒有任何瞭解,但如果你問的是如何不做dist,但只有dist部署到heroku,然後搜索如何用git做到這一點,我記得看到一個問題和答案。 Def可能和很多人這樣做:我做了一個快速搜索,看到了這些:[鏈接](http://stackoverflow.com/questions/18183872/how-to-keep-a-deployment-repo-for-heroku- git-repo-and-keep),[link](http://stackoverflow.com/questions/18868769/deploy-git-subdirectory-on-heroku)。希望有幫助 – rickydav

+0

謝謝!我一直在使用子樹方法,第一個在dist分支上的分支是有趣的。我想我可以操縱我的構建過程來自動完成其中的一個。 –

相關問題