5

有没有办法注册一个优先级较低的 express.js app.get() 调用?

例如,

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

是否有一种方法可以在第一次调用时指定较低的优先级,使其位于路由查找的底部,从而允许首先检查后来调用的路径,就像第一行代码在第二行之后执行一样代码?

4

1 回答 1

6

我刚刚快速浏览了 Express 的源代码,似乎您在添加路线时无法设置任何类型的优先级。路线始终按创建顺序匹配。在您的示例中,它将首先尝试匹配'*',然后'/page'

但是,您可以在完成后要求 Express 恢复匹配:

app.get('*', function (req, res, next) {
   // 对请求运行一些测试
   // ...

   // 最后,继续匹配
   下一个();
});
于 2012-12-18T18:21:40.830 回答