【发布时间】:2017-06-29 19:05:53
【问题描述】:
我目前正在使用 node.js 开发一个项目。 我陷入了一个特定的问题。添加所有路线后 使用 express (app.get("..", func)) 我最终得到了一个中间件 捕获所有请求并重定向到 404 页面。
现在,当我在服务器运行期间添加路由时,中间件 不关心新路线。
示例:
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 但在请求页面 /team 10 分钟后,我被重定向到 404 页面。
有人知道解决办法吗?我对nodejs很陌生..
【问题讨论】:
-
从您的措辞看来您可能没有尝试重新启动节点/快速进程?
-
很可能您要添加的路由是在 404 处理程序之后添加的,因此它永远不会到达,因为到达 404 处理程序的任何东西都会收到 404。跨度>
-
您的 app.use 代码将发送 404 响应,因此之后的所有代码都不会被执行。只需将 app.get("/team", function(_, res) { res.send("team"); }) 留在代码末尾,一切都会好起来的
标签: javascript node.js express middleware