Это может быть очень плохой идеей, которая может объяснить, почему я не вижу примеров этого. Мой пример включает express и websocket, но это действительно базовый c javascript вопрос, под Node.js.
Мое приложение верхнего уровня создает пользовательский экземпляр класса сервера websocket, а также вызывает express маршруты:
const express = require('express');
const app = express();
const wss = new MyCustomWsServer();
app.use('/example', example);
...
Мой example
модуль реализует класс c express маршрут:
const express = require('express');
const router = express.Router();
router.get('/',
(req, res, next) => {
console.log('ok!');
res.status(200).end();
return next();
});
module.exports = router;
Я хотел бы иметь возможность передать ссылку на мой wss
экземпляр модуля маршрутизации example
, выполняющий что-то вроде этого:
app.use('/example', example(wss));
Цель состоит в том, чтобы иметь возможность использовать этот экземпляр wss внутри моего маршрута, где консоль записывает 'ok' .. .
Вопрос определенно НЕ в том, как использовать маршруты, ws et c ... В конечном итоге мой ws будет обрабатываться другим экземпляром сервера, передавать ему сообщения через очередь redis et c. ...
Это просто быстрый взлом, но я не мог понять это (изучая js). Цель состоит в том, чтобы предоставить доступ к этому экземпляру wss различным модулям маршрута.
Есть идеи? Спасибо.