我正在使用socket.io。在app.js
我设置它,每当建立连接时,我将新套接字添加到sockets
数组。我想在sockets
之间的路由等模块之间共享require()
。但是,app.js
还需要路由,因此它会形成一个require循环。这是代码。
// app.js
var route = require('routes/route')
, sockets = [];
exports.sockets = sockets;
// route.js
var sockets = require('../app').sockets; // undefined
如何解决循环问题?还是有其他方法吗?
答案 0 :(得分:1)
您可以在路由文件
中完成所有socket.IO工作var route = require('routes/route').init(io)
with routes.js
var io;
exports.init = function(io) {
io = io
}