我需要重构这个节点应用程序,所以socket.io和express使用相同的端口,我可以部署它.它目前按原样运行,但不会在Heroku上运行,除非所有内容都使用相同的端口.
var http = require('http');
var socket = require('socket.io');
var socketServer = http.createServer(app);
var io = socket.listen(socketServer);
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var path = require('path');
app.set('view engine', 'jade');
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }));
// parse application/json
app.use(bodyParser.json());
app.use(express.static(path.join(__dirname, 'public')));
var routes = require('./config/routes')(app, io);
var timer = require('./server/timer')(app, io);
var server = app.listen(process.env.PORT || 5000, function () {
console.log('Server running on *:5000');
});
socketServer.listen(8000);
Run Code Online (Sandbox Code Playgroud)
我也只是学习节点,因此非常感谢任何有关重构的提示.
编辑匹配建议的解决方案:( Express以这种方式工作,但它打破了socket.io)
var express = …Run Code Online (Sandbox Code Playgroud)