我有一个Express服务器,可以像这样创建WSS服务器:

const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: '8080' });

wss.on('connection', async (ws, req) => {
 ...
})

// routes setup
const chatRouter = require('./routes/chatPoint')(wss);

app.use('/api/chat', chatRouter);


我正在尝试将参数“ wss”传递给以下模块:

router.patch('/title', jsonParser, async (req, res) => {
   ...
});

module.exports = router;


我得到的当前错误是:

    return fn.apply(this, arguments);
              ^
TypeError: Cannot read property 'apply' of undefined


请指教。

最佳答案

使用app.locals。设置一个属性,您就可以从任何中间件以request的身份从req.app.locals对象访问它。

关于javascript - 将参数传递给Express路由/模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54392617/

10-09 23:29