Node.js在不同的类中获得相同的模块实例

时间:2017-09-21 13:57:52

标签: node.js

我是一个主类(app.js),我在其中声明了socket-io的实例,我想知道如何在另一个类中获得socket-io的相同实例。

app.js

var io = require('socket.io')();
//initialize socket and more related do web socket

routes.js

var io = ?? //How get same var io from app.js?

在Node.js上,可以这样做吗?我需要操纵来自socket-io的一些信息,但我想避免写入包含所有逻辑的单个文件。

1 个答案:

答案 0 :(得分:0)

假设您有一个文件routes.js,这是一个文件,您希望在其中访问socket-io上创建的app.js实例。然后,您可以在var io文件中传递此routes.js,该文件将传递相同的socket-io实例,

内部app.js

var io = require('socket.io')();

//pass the `io` inside the route file
require('routes')(io);

在routes.js内部

module.exports = function(io) {
   //your route codes here that can access `io`
};