我正在尝试使用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在同一个文件夹中
答案 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