ExpressJS路由器URL匹配

ExpressJS路由器URL匹配,express,Express,下面的代码,当我像这样访问url时http://localhost/. 它可以和第一个相匹配,但是当我去拜访http://localhost/detail-999,它再次与第一个匹配。它不能与第二个相匹配 我想在我访问的时候http://localhost 或http://localhost/list-1-1 可以匹配第一个和何时访问http://localhost/detail-999 可以正确匹配第二个 我不知道如何解决这个问题 router.get('/|/list-:type-:page

下面的代码,当我像这样访问url时http://localhost/. 它可以和第一个相匹配,但是当我去拜访http://localhost/detail-999,它再次与第一个匹配。它不能与第二个相匹配

我想在我访问的时候http://localhost 或http://localhost/list-1-1 可以匹配第一个和何时访问http://localhost/detail-999 可以正确匹配第二个

我不知道如何解决这个问题

router.get('/|/list-:type-:page', function (req, res) {});
router.get('/detail-:itemId', function (req, res) {});

您只需将其包装到括号中,如下所示:

app.get('(/|/list-:type-:page)', function (req, res) {

});
试试这个:

router.get'/list/:type/:page',函数req,res,next{}; 获取'/detail/:itemId',函数req,res,next{}; 在设计路线时可能会遇到问题。如果您有无法更改的参数,那么您应该在路由的操作方法中处理破折号,只需执行req.params.list_name.split'-'