我有关于传递实例的问题,如下所示
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
因此可以在不同的文件中实现许多事件。 我怎么做才能做到?感谢〜
答案 0 :(得分:0)
试试这个:
app.js:
_Server = module.exports.io = io.listen(server);
session.js:
this.m_server = require('app').io;