Я пытаюсь настроить проект с помощью socketio и express, аналогично этому фрагменту кода из документации. Тем не менее, я пытаюсь построить проект организованно, поэтому планирую отделить весь socketio-код от экспресс-кода. Первоначально я планировал создать функцию в отдельной папке, которая принимает сокет как при вводе, а затем я использовал бы эту функцию в основной функции:
io.on(connection, myFunc)
Однако я собираюсь использовать io.emit
намного больше, чем socket.emit
, и я не могу понять, как переместить это в отдельный файл, так как io
требует, чтобы был необходим экспресс-сервер (третья строка в связанный фрагмент). Что мне нужно сделать, чтобы использовать io.emit
во внешнем файле?
Моя текущая идея - сделать это:
io.on('connection', (socket) => socketSetup(socket, io))
где socketSetup - внешняя функция. Есть ли альтернативы этому?