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

时间:2012-12-18 18:09:34

标签: node.js express

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

例如,

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

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

1 个答案:

答案 0 :(得分:6)

我只是快速查看了Express的源代码,并且在添加路由时似乎不能设置任何类型的优先级。路径始终按创建顺序匹配。在您的示例中,它将首先尝试匹配'*',然后匹配'/page'

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

app.get('*', function (req, res, next) {
   // run some tests on the request
   // ...

   // finally, resume matching
   next();
});