В файле app.js (основной файл приложения), я начинаю прослушивать io и http.
Есть отдельный модуль X, который я подключил через require.
Как из X делать io.emit?
Т.е., как правильно вынести io в отдельный модуль, а затем подключить к app и X
На данный момент app выглядит так:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var path = require('path');
var x = require('./x');
app.get('/', function(req, res){
res.sendFile(path.join(__dirname + '/public/index.html'));
});
http.listen(80, function(){
console.log('http.listen on 80');
});
Попробовал module.exports.io = io в app и require(app) в X. Но странно как-то выходит, ведь я запускаю X в app, а потом в X достаю app. В консоли сообщение о начале прослушивания выводится 2 раза. Как-то не красиво