ExpressJS同时击中多条路线

时间:2018-01-14 23:23:04

标签: javascript node.js express

我正在为expressjs应用程序设置路由,当我点击一个端点时,我看到正在执行两条路由。这是我的代码:

app.get("/forgot-password", (req, res) => {
    ....
});

app.get("/:modelName/:id?", (req, res) => {
    ....
});

我知道如果第一个不匹配,第二个基本上将捕获所有内容。但我的印象是,一旦一条路线匹配,就没有其他路线可以运行。正确的输出显示在浏览器中,但我看到第二条路线的错误显示在我的控制台中。

除了在第二条路线上添加某种类型的前缀之外,有什么方法可以阻止这种情况吗? (制作/ model /:modelName ...)

1 个答案:

答案 0 :(得分:0)

请务必使用req.end结束您的请求,否则请求对象将被传递到堆栈中的下一个中间件。

或确保调用调用req.end的方法,例如res.redirect()res.send