使用path参数定义多个Express.js路由
我怎样才能使Express.js区分path“/1.1.1”和“/login”?
我正在使用下面的代码:
app.get('/:x?.:y?.:z?', function(req, res){ ... app.get('/login', function(req, res){
路由按照它们添加的顺序执行。 所以,如果你想要你的login路线优先,首先定义它。
否则,如果你想根据路由做出决定,你可以在你的处理程序中调用next()函数,像这样:
app.get('/:x?.:y?.:z?', function(req, res, next){ // <== note the 'next' argument if (!req.params.x && !req.params.y && !req.params.z) { next(); // pass control to the next route handler } ... }
从快速指南中可以看出:“对于定义了相同path的几条路由,情况也是如此,它们将被简单地按顺序执行,直到一个不会调用next()并决定响应。