从npm开始一个项目,该项目创建了一个特定的文件结构:
www <-require()调用app.js; 实例化服务器
app.js <-实例化var app = express(); 并具有module.exports = app;
现在,我想使用sockets.io。在我的“ www”文件中,这是一个代码段:
var app = require('../app'); ... var server = http.createServer(app);
而且我想将所有服务器端套接字侦听器都放在app.js中,但是下面的代码:
var io = require('socket.io').listen(server);
需要服务器作为输入。如何在“ app.js”中访问在“ www”中实例化的服务器?
似乎有点奇怪。但是,如果您坚持使用这样的结构,则可以从中导出对象,www
该对象具有app
其属性,并且该方法将绑定套接字侦听器的方法app
作为对象来接收对象。
module.exports = {
app: app,
bindSocketListeners: function(server, io) {
io.listen(server);
return io;
}
};
并称之为:
var appObj = require('../app');
var io = require('socket.io');
var app = appObj.app;
var server = http.createServer(app);
io = appObj.bindSocketListeners(server, io)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句