nodejs将服务器实例作为属性传递给类

时间:2013-02-08 08:26:15

标签: node.js

我有关于传递实例的问题,如下所示

app.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

因此可以在不同的文件中实现许多事件。 我怎么做才能做到?感谢〜

1 个答案:

答案 0 :(得分:0)

试试这个:

app.js:

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

session.js:

this.m_server = require('app').io;