推荐答案
在 Express 中处理 404 错误可以通过在路由的最后添加一个中间件来实现。这个中间件会捕获所有未被其他路由处理的请求,并返回一个 404 状态码和相应的错误信息。
// www.javascriptcn.com code example
const express = require('express');
const app = express();
// 其他路由
app.get('/', (req, res) => {
res.send('Hello World!');
});
// 404 处理中间件
app.use((req, res, next) => {
res.status(404).send('404 - Not Found');
});
// 启动服务器
app.listen(3000, () => {
console.log('Server is running on port 3000');
});本题详细解读
404 错误处理的重要性
404 错误表示客户端请求的资源在服务器上未找到。在 Web 应用中,正确处理 404 错误非常重要,因为它可以提升用户体验,避免用户看到不友好的错误页面。
Express 中的 404 处理机制
在 Express 中,404 错误通常是通过在路由的最后添加一个中间件来处理的。这个中间件会捕获所有未被其他路由处理的请求,并返回一个 404 状态码和相应的错误信息。
代码解析
路由定义:首先定义了一些常规的路由,比如
app.get('/', ...),这些路由会处理特定的请求。404 处理中间件:在所有路由定义之后,添加了一个中间件
app.use((req, res, next) => {...})。这个中间件会捕获所有未被前面路由处理的请求。返回 404 状态码:在 404 处理中间件中,使用
res.status(404).send('404 - Not Found')返回一个 404 状态码和错误信息。启动服务器:最后,使用
app.listen(3000, ...)启动服务器,监听 3000 端口。
注意事项
- 顺序很重要:404 处理中间件必须放在所有路由的最后,否则它可能会拦截到其他路由的请求。
- 自定义错误页面:可以根据需要自定义 404 错误页面,返回 HTML 或其他格式的内容。
- 日志记录:在生产环境中,建议记录 404 错误,以便分析和优化应用。