如何在项目的其他文件上导出 Socket.io 实例

How to export Socket.io instance on other files of the project

我对 Web Dev 有点陌生,尤其是在节点方面,我正在努力 socket.io。 问题是我需要将我的 "io" 导出到另一个文件中以发出消息,但它不起作用,因为我可能做错了。

我尝试了很多 Whosebug 解决方案,但都没有成功。

这两个文件是server.js,socket的配置在哪里:

let server = http.createServer(app);
let io_fin=io_test.listen(server);
module.exports= io_test;

并且在同一个文件中,我的 "emit request" 正在工作:

io_fin.on('connection', function(socket){
    console.log('an user connected');

    socket.emit('chat message', 'TESTING');
  });

在另一个文件中,我有这个导入:

let yoyo = require('socket.io');

我试着这样发出:

yoyo.emit('chat message', 'TEST2');

api 正在崩溃,说 "yoyo.emit is not a function"。

我尝试了很多不同的方法来导出它,例如:

而且我觉得我在做我错过了套接字的一个关键概念,因为我完全被卡住了! 很抱歉这个 "newbye" 问题,但我觉得我真的需要一些帮助。 提前致谢。

let yoyo = require('socket.io') 此行需要 一个新的 socket.io 函数。

您正在 server.js 中导出,因此您应该从 那个文件 中导入,例如:

// assuming the file you're importing from is in the same folder as server.js
let yoyo = require('./server');