2014-11-21 59 views
1

我想用Heroku創建一個node.js應用程序。在我的server.js文件中,我使用express來加載靜態html頁面。這是我的server.js文件中的快速代碼。在Heroku的proc文件中,我將其設置爲我的出發點。Heroku不會加載index.html

var app = require('express')(); 

var http = require('http').Server(app); 

app.get('/', function(req, res){ 
    res.sendFile(__dirname + 'index.html'); 
}); 

但是,當我把它推到的Heroku,Heroku的不顯示任何東西,所以也沒有錯誤。

server.js,index.html的是在同一文件夾

+0

如果加上'的console.log(__目錄名)'你在控制檯中得到什麼? – Abdelouahab 2014-11-21 23:52:42

+0

控制檯是空 https://tap-to-race.herokuapp.com/ – 2014-11-22 00:08:15

+0

這是來自「Heroku的日誌」 http://pastebin.com/kMnewN1z – 2014-11-22 00:10:17

回答

1

那是你的整個server.js?如果是這樣,你需要指定一個端口被傾聽:

var app = require('express')(); 
var server = require('http').Server(app); 
server.listen(80); 

app.get('/', function (req, res) { 
    res.sendfile(__dirname + '/index.html'); 
}); 
console.log('Express server started on port %s', server.address().port); 

編輯:由於@Abdelouahab建議,你不應該硬編碼端口,而從process.env.PORT

var port = process.env.PORT || 3000; 
app.get('/', function (req, res) { 
    res.sendfile(__dirname + '/index.html'); 
}); 
app.listen(port, function() { 
    console.log("Node app is running at localhost:" + app.get('port')) 
}); 
抓住它

https://devcenter.heroku.com/articles/getting-started-with-nodejs#push-local-changes

Node.js port issue on Heroku cedar stack

+0

在Heroku中建議不要硬編碼端口 'app.set('port',process.env.PORT || 80)' 'var server = app.listen(app.get('port'),function(){ console.log('working! on port'+ app.get('port'))' }) – Abdelouahab 2014-11-22 00:21:39