Express.js路由错误的路由

我有3个express.js路由

app.get('/packages/:name', (req, res) => {...}); app.get('/packages/search/', (req, res) => {...}); app.get('/packages/search/:name', (req, res) => {...}); 

第一和第三条路线工作得很好。 但是第二条路线永远不会触发。 当我浏览到“localhost / packages / search /”时,它会触发第一条路线res.params.name = "search/"

我可以做一个“如果”来检查它的“search/”,但我不认为这是一个很好的解决scheme。

难道我做错了什么?

express.js中的路由按顺序执行。

详细的Node.js Express路由命名和sorting:如何确定优先级?