如何使用nodejs在一个文件中添加一个事件监听器在一个不同的文件中的发射器?

我是新来的这个JavaScript的东西,所以我相信这是一个简单的问题。

文件结构如下所示:

/app.js /app/controller/users.controller.js /app/routes/socketio.js 

我想有一个emit函数,当users.js中调用一个特定的控制器时触发,而socketio.js文件中的一个侦听器将会启动它。 这样做的目的是当控制器调用更新数据库的函数时,我希望它将结果推送到已经连接到仪表板的socketio。

我知道如何创build一个发射/侦听器事件,当他们在同一个文件中,但我不知道如何让他们之间的文件/目录之间的谈话。

提前致谢!


更新:这里是代码的样子(我已经简化了一堆,以摆脱不必要的信息):

 // /app.js var express = require('express'); var path = require('path'); var routes = require('./routes/index'); var app = express(); app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); app.use(express.static(path.join(__dirname, 'public'))); app.use('/', routes); var debug = require('debug')('nodemit:server'); var http = require('http'); var server = http.createServer(app); var io = require('socket.io').listen(server); var socket = require('./routes/socketio')(io); var port = 3000; server.listen(port, function(){ console.log('Server is listening on port: ' + port); }); 

users.controller.js

 // /app/controllers/users.controller.js exports.getUsers = function(req, res){ var user = req.params.user; // I would to be able to emit something from here.... res.json(user); } 

socketio.js

 // /app/routes/socketio.js module.exports = function(io){ io.sockets.on('connection', function(socket){ //... and have an event listener here that picks up when it is hit }); }