低优先级的Express.js app.get('/route')。

5

有没有一种方法可以以较低的优先级注册express.js的app.get()调用?

例如,

app.get('*', function(req, res) {});
app.get('/page', function(req, res) {});

是否有一种方法可以为第一个调用指定较低优先级,以便它位于路由查找的底部,允许首先检查后续调用的路径,就好像第一行代码在第二行代码之后执行一样?

3
路线列表中的顺序是它们的优先级。将优先级较低的路线放在底部。 - Hector Correa
1个回答

6
我刚刚快速浏览了Express的源代码,似乎你不能在添加路由时设置任何优先级。路由始终按创建顺序匹配。在您的示例中,它将首先尝试匹配“*”,然后是“/page”。
但是,您可以要求Express在完成后恢复匹配:
app.get('*', function (req, res, next) {
   // 对请求进行一些测试
   // ...
// 最后,恢复匹配 next(); });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接