代码,当我访问这个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) {});
答案 0 :(得分:1)
你需要的只是把它包装成这样的括号:
app.get('(/|/list-:type-:page)', function (req, res) {
});
答案 1 :(得分:0)
试试这个:
router.get('/list/:type/:page', function (req, res, next) {});
router.get('/detail/:itemId', function (req, res, next) {});
设置路线可能会有问题。如果您有无法更改的参数,那么您应该在路线的操作方法中处理破折号,然后执行req.params.list_name.split('-')