【问题标题】:How to export Socket.io instance on other files of the project如何在项目的其他文件上导出 Socket.io 实例
【发布时间】:2019-09-06 18:04:38
【问题描述】:

我对 Web 开发有点陌生,尤其是在 node 方面,而且我正在为 socket.io 苦苦挣扎。 问题是我需要将我的“io”导出到另一个文件中以发出消息,但它不起作用,因为我可能做错了。

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

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

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

在同一个文件中,我的“发出请求”正在工作:

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 不是函数”。

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

  • module.exports=io_test(server);

  • module.exports=io_fin;

  • module.exports=io_test.listen(server);

  • 等等..

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

【问题讨论】:

    标签: node.js server socket.io export emit


    【解决方案1】:

    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');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-09
      • 1970-01-01
      • 2014-02-12
      • 1970-01-01
      • 2016-02-17
      • 1970-01-01
      相关资源
      最近更新 更多