使用path参数定义多个Express.js路由

我怎样才能使Express.js区分path“/1.1.1”和“/login”?

我正在使用下面的代码:

app.get('/:x?.:y?.:z?', function(req, res){ ... app.get('/login', function(req, res){ 

       

网上收集的解决方案 "使用path参数定义多个Express.js路由"

路由按照它们添加的顺序执行。 所以,如果你想要你的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()并决定响应。