在编写 Node.js 应用程序时,处理 404 错误是一项重要的任务。在 Express.js 中,我们可以很容易地捕获和处理这些错误。在本篇文章中,我们将详细讨论如何在 Express.js 中处理 404 错误,并提供代码示例以帮助你更好地理解。
配置路由
在 Express.js 中,我们需要为应用程序配置路由。路由是指客户端请求的 URL 地址与服务器端响应的内容之间的映射关系。我们可以使用 Express.js 的 app.get()
方法配置路由,并将路由与处理器函数绑定在一起。
例如,下面是一个简单的 Express.js 应用程序,它设置了两个路由:一个处理 /
请求,另一个处理 /about
请求:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- --- - ---------- -- --- --- -- ------------ ----- ---- -- - --------------- --------- --- -- -- ------ -- ----------------- ----- ---- -- - --------------- ----- --- ---------------- -- -- - ---------------- -- --------- -- ---- -------- ---
当客户端请求 /
或 /about
URL 时,服务器将分别响应 Hello World!
或 About Us
。
处理 404 错误
如果客户端请求了未定义的 URL,我们需要为其提供一个友好的错误页面。在 Express.js 中,我们可以使用 app.use()
方法处理所有未处理的请求,即 404 错误。我们可以将一个中间件函数绑定到 app.use()
方法中,并在该函数中处理 404 错误。
例如,下面是一个处理 404 错误的中间件函数:
// 处理 404 错误 app.use((req, res, next) => { res.status(404).send("Sorry, we can't find what you're looking for!") });
上面的代码会在客户端请求的 URL 不存在时将一个响应状态码 404 和一条自定义的错误消息返回给客户端。如果你希望提供一个自定义的 HTML 页面作为 404 错误页面,你可以在 res.sendFile()
方法中设置一个 HTML 文件路径。
// 处理 404 错误 app.use((req, res, next) => { res.status(404).sendFile(path.join(__dirname, 'public', '404.html')); });
总结
在本篇文章中,我们详细讨论了如何在 Express.js 中处理 404 错误。我们介绍了如何配置路由以及如何使用中间件函数处理未处理的请求。我们希望这篇文章能够帮助你更好地理解如何在 Express.js 应用程序中处理 404 错误,并提供了实用的代码示例供你参考。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64758082968c7c53b028b5c2