嗨,我试图在一个文件中使用socket.io,而不是我的主server.js文件,在这里我第一次设置它是这样的:
const app = require('express')();
const http = require('http').createServer(app);
const mongoose = require('mongoose');
const io = require('socket.io')(http);
io.on('connection', (socket) => {
console.log('a user connected');
socket.on('disconnect', () => {
console.log('user disconnected');
});
});由于我是在我的server.js文件中设置它,所以我必须侦听该文件中的事件,因此回调函数将只能访问该文件的范围。但是,我需要在我的路由中的另一个文件中使用它,例如:
app.use('/', home);谢谢。
发布于 2017-03-14 06:30:40
在函数中的另一个文件中写入套接字逻辑,然后从server.js调用它。
socket.js
const io = require('socket.io');
module.exports = function(server) {
io(server).on('connection', (socket) => {
console.log('a user connected');
socket.on('disconnect', () => {
console.log('user disconnected');
});
});
}在server.js
const app = require('express')();
const http = require('http').createServer(app);
const mongoose = require('mongoose');
require("./socket")(http)https://stackoverflow.com/questions/42777661
复制相似问题