如何从路由器文件中发出Socket.io事件?

时间:2017-11-13 12:58:13

标签: javascript node.js sockets express socket.io

我正在开发一个socket.io项目,我需要在请求/页面时发出一个事件。但我的所有路线都在一个单独的文件router/index.js中。现在,我想在路由器文件的页面请求上发出一个套接字事件。

我无法找到解决这个问题的方法。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

将套接字对象放在单独的文件中并导出它。 //让io.js

var http = require('http').Server(app);
var io = require('socket.io')(http);
module.export.io = io;

现在在route / index.js;

var io = require('io.js')
  app.get('/', function(req, res){
  io.sockets.emit('home.accessed');
})

如果套接字代码在server.js中

同样要求io.js。