0

我正在使用socket.io。在app.js我设置它时,每当建立连接时,我都会将新套接字添加到sockets数组中。我想在路由sockets等模块之间共享。但是,也需要routes,因此它形成了一个 require 循环。这是代码。require()app.js

// app.js
var route = require('routes/route')
    , sockets = [];

exports.sockets = sockets;

// route.js
var sockets = require('../app').sockets;  // undefined

如何解决循环?还是有其他方法?

4

1 回答 1

1

您可以在路由文件中完成所有 socket.IO 工作

var route = require('routes/route').init(io)

在 routes.js 中

var io;
exports.init = function(io) {
  io = io    
}
于 2012-08-18T08:10:02.373 回答