我已經設置了一個快速應用並使用路由中間件將一些路由抽象爲單獨的包含。在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」作爲「路徑」只會顯示第一個路徑後面的部分路徑。乾杯。 –