【发布时间】:2018-07-13 06:02:19
【问题描述】:
我有一个app.js
const express = require('express');
const app = express();
const server = require('./server.js');
// app.use
const io = require('socket.io').listen(server);
io.on('connection', function (socket) {
...
});
module.exports = app;
还有一个server.js
const app = require('./app');
const server = app.listen(5000 || process.env.PORT, () => {
console.log('App listening on port 5000!');
})
module.exports = server;
如果我将服务器放在一个单独的文件中,则套接字无法工作,但如果我在 app.js 内启动服务器,则套接字可以工作。
我做错了什么?
【问题讨论】:
-
这两个文件相互需要,您也没有导出
io实例 -
为什么需要导出
io实例?我正在尝试做一些测试,如第 3 点here。我需要将这两个文件分开。
标签: javascript node.js express socket.io httpserver