我的应用在本地工作,但当我部署到heroku时,对myapp.herokuapp.com/socket.io的请求会得到404响应。
这是我的代码:
var express = require('express');
var http = require('http');
var app = express();
var port = 8080;
// Configuration of the server
require('./ServerConfig').serverConfig(app, express);
var server = http.createServer(app).listen(port)
var io = require('socket.io').listen(server);
io.on('connection', function(socket){
console.log('a user connected');
socket.on('message', function(msg){
console.log(msg);
io.emit('message', msg);
});
});
我刚刚开始使用nodejs,我真的不明白为什么它会崩溃。
有人可以解释这个错误的原因或者如何调试它吗?
谢谢!
答案 0 :(得分:2)
将第4行替换为:
var port = process.env.PORT || 8080;
在Heroku上,您应该绑定到PORT环境变量。看到: https://devcenter.heroku.com/articles/runtime-principles#web-servers