如何解决“未定义io”

时间:2019-08-27 01:33:46

标签: javascript node.js module socket.io

我正在尝试将socket.io集成到我的项目中。 下面的代码工作正常。

io.on('connection', (socket) => {
  console.log('a user connected');
  socket.on('someEvent', (data) => {
    io.emit('someEvent2', data); 
  });
});

一切正常,直到我将套接字处理程序放入一个单独的文件中为止。

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;

现在我得到一个错误-io未定义。这是什么问题?

2 个答案:

答案 0 :(得分:0)

也许以下链接可以帮助您获得答案,

link : node.js /socket.io/socket.io.js not found

答案 1 :(得分:0)

安装socket.io

npm i socket.io

然后使用下面的行

var io = require('socket.io');