在所有Node.js项目文件中使用Socket.io

时间:2019-01-24 17:11:22

标签: node.js socket.io

我一直试图将Socket.io设置为可在所有文件上使用,但是我所能做的就是将io函数导出到外部:

require("./socket")(io);

在文件中:

module.exports = io => {
  io.on("connection", socket => {
  });
};

如何在其他任何文件上访问此io变量?

如果我导出io变量,则它是undefined,因为尚未加载socket.io。

1 个答案:

答案 0 :(得分:0)

我决定要做的是导出io,而不是立即要求它,而是创建了一个getter函数,可以在需要时使用它。丑陋但行得通。

function getIo() {
  return require("../app").io;
}