I am trying to integrate a socket.io into my project. Code below works fine.
io.on('connection', (socket) => {
console.log('a user connected');
socket.on('someEvent', (data) => {
io.emit('someEvent2', data);
});
});
Everything worked well until I put the socket handler into a separate file.
server.js
const socketHandlers = require('./socket/handlers');
io.on('connection', socketHandlers);
handlers.js
const socketHandlers = (socket) => {
console.log('a user connected');
socket.on('someEvent', (data) => {
io.emit('someEvent2', data); ---here's a problem
});
};
module.exports = socketHandlers;
Now I get an error - io is not defined. What is the problem here?