2012-12-18 61 views
5

有没有办法以较低的优先级注册express.js app.get()调用?低优先级Express.js app.get('/ route');

例如,

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

会不会有到对第一次调用指定较低的优先级,以便它在路由查找的底部的方式,允许先检查后来被称为路径,就好像第一行代码在第二行代码后执行一样?

+3

其中路由上市*是他们优先*顺序。在底部放置较低优先级的路线。 –

回答

6

我只是快速浏览了Express的源代码,并且在添加路由时似乎没有设置任何优先级。路线总是按照创建顺序进行匹配。在你的例子中,它将首先尝试匹配'*',然后'/page'

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

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

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