0

我有一个关于传递实例的问题,如下

应用程序.js

// nodejs var
var app = express()
    , server = http.createServer(app)
    , _Server = io.listen(server);


/**
 * To log
 * Before, to display the _Server instance, the content should be
 */
console.log(util.inspect(_Server));


// app var
var _Session = new Session(_Server);

session.js

var Session = function Session(server) {
    this.m_server = server;

    /**
     * To log
     * After, to display the m_server property, the content actually is
     */
    console.log(util.inspect(this.m_server));
}

我想知道为什么这些结果与我预期的不一样。结果我无法在 Session 类中调用 this.m_server.emit(...) 。我想做的是委派一个行为

from
    _Server.emit(...) // in app.js
to
    this.m_server.emit(...) // in session.js

这样就可以在不同的文件中实现很多事件。我该怎么做才能做到?谢谢~

4

1 回答 1

0

试试这个:

应用程序.js:

_Server = module.exports.io = io.listen(server);

会话.js:

this.m_server = require('app').io;
于 2013-02-09T22:54:40.817 回答