在其他JS文件中使用socket.io模块

时间:2015-06-10 15:31:35

标签: node.js express socket.io

以下是我为socket.io功能配置的app.js,事情按预期工作,但现在我想使用这个套接字功能来自同一项目的另一个js文件,如何实现这个目标?

var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);

server.listen(8080);

app.get('/', function (req, res) {
  res.sendfile(__dirname + '/index.html');
});

io.on('connection', function (socket) {
  socket.emit('news', { hello: 'world' });
  socket.on('my other event', function (data) {
    console.log(data);
  });
});

1 个答案:

答案 0 :(得分:0)

只需在要使用var io = require('socket.io')(server);模块的每个文件中写socket.io即可。如果要创建共享功能,请在应用中使用socket.io创建另一个模块,即:

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

module.exports = function(options) {
  // your code here
}

如果不是您问题的答案,请更具体。