@andrew_andrey

Как использовать экземпляр socket.io в контроллерах Node.js?

Если я хочу использовать инстанс socket.io в контролере, global.io = io совсем ужасно? Если да, то как я могу дотянуться до io по другому из своих контроллеров?

index.js
const server = app.listen(3000, '127.0.0.1', () => {
    console.log("Node.js listening on port 3000");
});

// socket
const io = require('socket.io')(server);
const sharedsession = require("express-socket.io-session");

global.io = io;
io.use(sharedsession(session));
require('./socket/socket')(io);


socket.js
module.exports = (io) => {
    io.on('connection', socket => {
        console.log('a user connected');

        socket.on("event", () => {
            
        });
    });
};
  • Вопрос задан
  • 51 просмотр
Пригласить эксперта
Ответы на вопрос 1
h0w4rd
@h0w4rd
Junior Node.js dev.
Только передать io в экземпляры контроллеров, или да, глобальные переменные.

P.S. (io) => { пишется как io => {.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Osome Москва
от 4 000 до 5 000 usd.
TeamJet Москва
До 100 000 руб.
от 130 000 до 150 000 руб.