在多个文件中使用socket.io

我正在使用Node.js Express与socket.io。

//app.js var server = http.createServer(app).listen(app.get('port'), function(){ console.log('Express server listening on port ' + app.get('port')); }); var io = require('socket.io').listen(server,{'log level': 1}); 

如果我想只为观看由index.js提供的索引页的人做“io.sockets.emit”,我怎样才能在index.js中调用“io.sockets.emit”而不是使用“require”作为应用。 js(主文件)?

尽pipe我找不到在多个文件中使用socket.io的示例源代码,但我已经使用了它。

如果您的后端在多个模块文件(如index.js)中分离,则可以在初始化时将variables传递给模块。

尝试在初始化socket.io之后导入index.js,并将io传递给正在导入的index.js模块:

 require('./index.js')(io); 

另请参阅此答案 。