我目前正在使用node.js工作。 我陷入了一个特定的问题。使用express(app.get(“..”,func))添加所有路由 后,我最终得到一个中间件, 捕获所有请求并重定向到404页。NodeJS:以后如何添加路由(中间件后)
现在的事情是,当我在服务器运行期间之后添加路由时,中间件 不关心新路由。
例如:
app.get("/home", function(_, res) {
res.send("home");
})
app.get("/faq", function(_, res) {
res.send("faq");
})
app.use(function(_, res) {
res.send("404");
});
// e.g. 10 min later..
app.get("/team", function(_, res) {
res.send("team");
})
所以我可以访问/ home和/ FAQ但在10分钟请求页/队后,我重定向到404页。
有没有人知道解决方案? Im对nodejs来说相当新颖..
从你的措辞,你听起来像你可能没有尝试重新启动节点/快递过程? –
很可能您正在添加的路由*在您的404处理程序之后添加*,因此它永远无法到达,因为到达404处理程序的任何内容都会收到404. –
您的app.use代码将发送404响应,所以所有之后的代码将不会执行。只需在代码结尾处留下app.get(“/ team”,function(_,res){res.send(“team”); }),并且一切都会正常 –