gpt4 book ai didi

javascript - Express 4 命名空间参数?

转载 作者:太空宇宙 更新时间:2023-11-04 00:52:35 24 4
gpt4 key购买 nike

我一直在使用 Express 4,我只是尝试使用命名空间路由,但我希望命名空间路由有一个参数。

例如:

/:username/shows
/:username/shows/:showname/episodes

等等等等。因此,我认为这非常适合快速命名空间。

Router = require("express").Router;
userRouter = Router();

userRouter.route("/shows").get(function(req,res){ ... });
app.use("/:param", userRouter);

这将使页面按照 /:username/shows 的预期加载,但是 req.params(我通常希望在其中找到名为 username 的键)是空的。我错过了什么吗?我在哪里可以访问这些参数?

最佳答案

在您的代码中,:username param 由应用程序使用,而不是在 userRouter 中使用。您只能从app访问它,或者你可以 curry :username参数信息发送至userRouter通过使用app.params()功能

app.param('username', function(req, res, next, username) {
req.username = req.params.username;
next();
});

app.use('/:username', userRouter);

userRouter.get('/show', function(req, res, next){
var username = req.username; // Here you can access;
res.send("DONE");
});

关于javascript - Express 4 命名空间参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31683742/

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