假设我有两个文件。
server.js
test.js
服务器.js所有初始化代码都已到位(猫鼬,快递(。等(。它还具有以下代码:
const io = require('socket.io')(server);
在我的测试.js文件中,我有一些与 mqtt 相关的东西。这无关紧要,但是,请理解我在那里没有任何变量访问权限(req,app(。因为该文件不是路由或任何东西的一部分。
它包含在服务器中.js作为:
require('test.js');
我没有详细介绍 MQTT 或其工作原理。考虑 test.js 中的一个或多个函数在特定时间运行。那么,当发生这种情况时,如何使用 test.js 文件中的 socket.io 发出事件?
我的客户端仪表板已准备好接收事件。我只是困惑如何设计系统,尤其是如何访问文件中存在的io
变量server.js
。
如前所述,只需从test中导出一个函数.js它将io
作为参数:
module.exports = function test(io) {
io.on("connection", socket => {
socket.emit("greeting", "hello world!");
});
};
从您的服务器.js您只需传入参数:
require("./test.js")(io);