Express 面试题
目录

Express 中如何处理 404 错误?

· 约 2 分钟读完 · 第 39 / 120 章

推荐答案

在 Express 中处理 404 错误可以通过在路由的最后添加一个中间件来实现。这个中间件会捕获所有未被其他路由处理的请求,并返回一个 404 状态码和相应的错误信息。

本题详细解读

404 错误处理的重要性

404 错误表示客户端请求的资源在服务器上未找到。在 Web 应用中,正确处理 404 错误非常重要,因为它可以提升用户体验,避免用户看到不友好的错误页面。

Express 中的 404 处理机制

在 Express 中,404 错误通常是通过在路由的最后添加一个中间件来处理的。这个中间件会捕获所有未被其他路由处理的请求,并返回一个 404 状态码和相应的错误信息。

代码解析

  1. 路由定义:首先定义了一些常规的路由,比如 app.get('/', ...),这些路由会处理特定的请求。

  2. 404 处理中间件:在所有路由定义之后,添加了一个中间件 app.use((req, res, next) => {...})。这个中间件会捕获所有未被前面路由处理的请求。

  3. 返回 404 状态码:在 404 处理中间件中,使用 res.status(404).send('404 - Not Found') 返回一个 404 状态码和错误信息。

  4. 启动服务器:最后,使用 app.listen(3000, ...) 启动服务器,监听 3000 端口。

注意事项

  • 顺序很重要:404 处理中间件必须放在所有路由的最后,否则它可能会拦截到其他路由的请求。
  • 自定义错误页面:可以根据需要自定义 404 错误页面,返回 HTML 或其他格式的内容。
  • 日志记录:在生产环境中,建议记录 404 错误,以便分析和优化应用。