У меня есть приложение express / node.js, и я хотел бы отделить логику socket.io от app.js до его собственного файла, а затем использовать в rout.js.
этопуть, по которому я хочу идти:
app.js
const app = require('express')();
const http = require('http').createServer(app);
const io = require('socket.io')(http);
sockets.js
function updatePageRoute(routerLocationParam) {
console.log('in socket');
//console.log(io);
io.on('connection', function (socket) {
io.emit('routerLocation', 'someone visited {' + routerLocationParam + '} page');
})
}
module.exports = {updatePageRoute: updatePageRoute};
и rout.js
router.get('/a', function (req, res) {
console.log('in a');
const a = 'a';
socketFun.updatePageRoute(a);
res.send({name: 'a'});
});
Я пробовал разные способы сделать эту работу, но я просто не могу найти решение, я не могу правильно экспортировать io из app.js в socket.js