有没有办法注册优先级较低的express.js app.get()调用?
例如,
app.get('*', function(req, res) {});
app.get('/page', function(req, res) {});
是否有办法在第一次调用时指定较低的优先级,使其位于路由查找的底部,允许首先检查后面的被调用路径,就像第一行代码执行后一样第二行代码?
答案 0 :(得分:6)
我只是快速查看了Express的源代码,并且在添加路由时似乎不能设置任何类型的优先级。路径始终按创建顺序匹配。在您的示例中,它将首先尝试匹配'*'
,然后匹配'/page'
。
但是,完成后,您可以要求Express恢复匹配:
app.get('*', function (req, res, next) { // run some tests on the request // ... // finally, resume matching next(); });