我已经设置了一个快速应用并使用路由中间件将一些路由抽象为单独的包含。在Express路由器路由中确定路径
我在app.js使用这种风格引用它们:
app.use('/foo', my_urls);
这意味着在浏览器中“/富/酒吧”,如果是“/酒吧”进行处理。
但问题是,在包含的路由器文件的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
});
express有'req.path'属性,所以你可以知道路径http://expressjs.com/en/api.html#req.path – Bek
谢谢@Bek我正在寻找的部分是“baseUrl”作为“路径”只会显示第一个路径后面的部分路径。干杯。 –