我正在尽力解释我想要做的事情,如果有不明白的地方请告诉我。
我有一个名为 www
的文件,我在其中设置我的套接字
var server = http.createServer(app);
var io = require('socket.io')(server);
require('../store.js')(io);
我正在将 io 数据发送到另一个文件以正确使用它。捕获我正在使用的 io
。
module.exports = function (io){
}
我想做的是如何在 store.js
文件中的 module.exports 外部使用 io
?我尝试创建一个变量然后使用它,但这似乎不起作用。
举例说明我是如何尝试的。
var ioData;
ioData.on('connection', function(socket) {
//Doesn't work
});
module.exports = function(io){
ioData = io;
}
最佳答案
你可以做到
store.js
const store = {
io: {},
setIo(io) {
store.io = io;
},
setHandlers() {
store.io.on('connection', function(socket) {
// do something with connected socket
});
}
};
module.exports = store;
www
var server = http.createServer(app);
var store = require('../store');
var io = require('socket.io')(server);
store.setIo(io);
store.setHandlers(io);
关于javascript - 使用模块导出之外的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49084493/