【发布时间】:2016-09-22 17:06:50
【问题描述】:
由于 express 会按照添加的顺序评估路由,因此您应该将更具体的路由放在首位。
server.get('/product/:id', router.getProduct);
server.get('/user/:id', router.getUser);
server.get('*', router.notFound);
但是,网站的管理方面需要能够创建新部分。创建新部分时,会将其添加到数据库中,然后创建新路线。但是,* 路由捕获了所有内容,并被添加到新的部分路由之前。因此,新的部分路线永远不会匹配。
如果我删除 * 路由,那么新的部分路由会匹配。我的问题是如何在不使用 * 路由的情况下创建匹配 404 请求的路由。或者有没有办法在路由匹配顺序的末尾添加始终匹配的路由?
任何帮助表示赞赏。
【问题讨论】:
-
部分 URL 是如何命名的?或者这完全是任意的?
-
嗯,这必须由管理员决定,所以是的,他们可以输入任何他们喜欢的内容。至少是这样的想法。也许解决方案是重新配置路由的命名方式?