如何处理 404 响应?

中英双语

在 Express 中,404 响应不是错误的结果,因此错误处理程序中间件不会捕获它们。这种行为是因为 404 响应只是表明没有额外的工作要做;也就是说,Express 已经执行了所有的中间件函数和路由,发现没有一个响应。您需要做的就是在堆栈的最底部(在所有其他函数下方)添加一个中间件函数来处理 404 响应:

app.use((req, res, next) => {
  res.status(404).send("Sorry can't find that!")
})

在运行时在 express.Router() 的实例上动态添加路由,这样路由就不会被中间件函数取代。