使Express中的特定路由优先于动态路由

时间:2016-08-15 14:07:50

标签: javascript node.js express

我在这个顺序中添加了两条路线:

/:foo
/login

我的应用程序结构的方式是可以动态添加路由。所以,我确实希望捕获任何网站页面(例如/hello-world,与:foo匹配),但我确实希望特定路由/login具有比另一个更高的优先级。< / p>

我知道中间件是按顺序执行的,因此,理想情况下我必须更改调用的顺序,但由于这是动态发生的,有更好的方法吗?

我如何告诉Express,没有动态内容的路由(几乎包含:)应优先于动态路由?

1 个答案:

答案 0 :(得分:2)

您应该放置一条优先级高于其他路线的路线。

app.get('/login', (req, res) => {
    res.send('login');
});
app.get('/:foo', (req, res) => {
    res.send('fooooo');
});

然后它会起作用