gpt4 book ai didi

node.js - Express.js - 如何将 url 参数从主路由器传递到另一个路由器模块?

转载 作者:行者123 更新时间:2023-12-02 04:14:56 27 4
gpt4 key购买 nike

在我的小型聊天应用程序中,当我对以“users”结尾的端点进行 HTTP 调用时,我希望我的房间路由器接管。这可以带有前面的房间名称,或者什么也没有。

routes.js:

module.exports = function(app) {
var roomRoute = require('./routes/room');
app.use('/:roomname/users', roomRoute);
app.use('/users', roomRoute);
};

现在,当我的房间路由器接管时,我希望能够访问房间名称(如果网址中存在)。像这样的东西:

./routes/room.js:

var express = require('express');
var router = express.Router();

router.get('/info', function(req, res) {
console.log('the roomname is ' + req.roomname);
res.end();
});

module.exports = router;

有什么方法可以轻松传递这个房间名称吗?我可能可以从 baseUrl 中提取它,但我认为可能有更好的方法......

最佳答案

路由器需要将mergeParams选项设置为true。 http://expressjs.com/en/4x/api.html#express.router

let router = express.Router({ mergeParams: true });

关于node.js - Express.js - 如何将 url 参数从主路由器传递到另一个路由器模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34392834/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com