2014-11-21 35 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