Heroku不会加载index.html

时间:2014-11-21 23:50:33

标签: javascript heroku

我正在尝试使用Heroku创建node.js应用程序。在我的server.js文件中,我使用express来加载静态html页面。这是我的server.js文件中的快速代码。在Heroku的proc文件中,我将此作为我的起点。

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在同一个文件夹中

1 个答案:

答案 0 :(得分: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