我已经设置了一个快速应用程序,并使用路由中间件将一些路由抽象为单独的包含.
我在app.js中使用这种风格引用它们:
app.use('/foo', my_urls);
这意味着浏览器中的"/ foo/bar"就像处理"/ bar"一样处理.
但问题是在router.get("/bar"...)
包含的路由器文件的部分中,我需要知道前面的(foo)部分的值.我已经建立了这个"foo"可能来自一系列值的路径.
有没有办法知道路由中间件的上下文,路由的前面部分是什么?换句话说,我可以做一些事情(在这里假装代码):
router.get('/bar', function(req, res, next) { res.send(req.path[0]) // foo });
解决了:谢谢你的回答.我可以使用这个获得价值:
router.get('/bar', function(req, res, next) { res.send(req.baseUrl.splice(1)) // foo });
Bek.. 7
express具有req.path属性,因此您可以知道路径,但是在父路由器路径之后显示路径(如果有的话),因此要获得父路由器路径,您可以使用req.baseUrl和req.originalUrl来获取带有queryparam的完整URL.
express具有req.path属性,因此您可以知道路径,但是在父路由器路径之后显示路径(如果有的话),因此要获得父路由器路径,您可以使用req.baseUrl和req.originalUrl来获取带有queryparam的完整URL.