Как подключить socket.io?

В файле 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 раза. Как-то не красиво
  • Вопрос задан
  • 880 просмотров
Решения вопроса 1
yarkov
@yarkov
Помог ответ? Отметь решением.
var x = require('./x')(io);
// x.js
module.exports = function(io){
  io.emit(......);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы