gpt4 book ai didi

node.js - 无法访问中间件内 app.use() 的 req.params

转载 作者:太空宇宙 更新时间:2023-11-03 22:42:03 24 4
gpt4 key购买 nike

我正在尝试为我的应用程序构建动态路由。 app.js 中的代码如下所示:

app.use('/:c_name/api/',middleware);

中间件如下所示:

var router = require('express').Router();
router.get('/:m/:c/:a',(req, res, next) => {
console.log(req.params);
var controller = "./fe-ser/leg/fe/cli/"+req.params.c_name+"/main/process/"+req.params.module+"/controllers/"+req.params.controller;
});

现在要解析中间件内的路由,我需要 c_name 的值,但无法使用 req.params.c_name 访问它。 req.params 仅包含 mca

因此,问题是,如何从中间件访问 c_name

最佳答案

您需要在初始化路由器时添加mergeParams,这将保留req.params

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

希望这有帮助!

关于node.js - 无法访问中间件内 app.use() 的 req.params,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51245332/

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