解决使用 Express.js 时出现的 404 错误

阅读时长 5 分钟读完

在进行 Node.js 的 Web 开发时,使用 Express.js 是很普遍的选择。但有时候,在使用 Express.js 时,我们可能会遇到 404 错误。本文将探讨在 Express.js 中如何解决出现的 404 错误,同时提供示例代码和指导意义。

1. Express.js 中的 404 错误

在 Express.js 中,当我们访问一个不存在的路由时,服务器会返回 404 错误。例如,当我们通过浏览器访问 http://localhost:3000/not-exist 时,服务器会返回以下错误信息:

这是因为没有与 /not-exist 匹配的路由规则。在应用程序中存在一个常见错误,就是当使用 res.sendFile() 方法时,在指定文件路径方面出错。这将导致 404 错误,因为它确实在服务器中不存在。

2. 解决方案

为了解决 Express.js 中出现的 404 错误,我们可以在项目中设置一个 “404 中间件”,它将用于拦截所有未经处理的请求,并返回相应的错误信息。

2.1 创建 404 中间件

要创建 404 中间件,请添加以下代码:

此代码将创建一个中间件函数,用于拦截所有未经处理的请求。 在函数中,我们使用 Error 构造函数创建一个新的错误对象,并设置错误状态为 404。然后,我们调用 next() 方法将该错误对象传递给下一个中间件函数。

2.2 处理错误

要处理错误,请在项目中添加另一个中间件函数:

-- -------------------- ---- -------
------------- ---- ---- ----- -- -
   --------------------- -- -----
   ----------
       ------ -
           ------- ---------- -- ----
           -------- -----------
       -
   ---
---
展开代码

此代码将创建一个中间件函数,用于处理所有错误。 在函数中,我们使用 res.status() 方法设置响应状态码,并将状态码设置为错误对象中的状态码。然后,我们发送一个 JSON 对象,其中包含错误信息。

2.3 集成 404 中间件

要在 Express.js 项目中使用我们创建的的 404 中间件,请添加以下代码:

-- -------------------- ---- -------
----- ------- - -------------------
----- --- - ----------

-- -- --- ---
------------- ---- ----- -- -
   ----- ----- - --- ---------- --------
   ------------ - ----
   ------------
---

-- ---------
------------- ---- ---- ----- -- -
   --------------------- -- -----
   ----------
       ------ -
           ------- ---------- -- ----
           -------- -----------
       -
   ---
---

---------------- -- -- -
   ------------------- ------- -- ---- -------
---
展开代码

现在我们已经设置了 404 中间件和错误处理中间件,以处理我们 Express.js 应用中可能出现的所有错误。

3. 示例代码

以下是示例代码:

-- -------------------- ---- -------
----- ------- - -------------------
----- --- - ----------

-- -- --- ---
------------- ---- ----- -- -
   ----- ----- - --- ---------- --------
   ------------ - ----
   ------------
---

-- ---------
------------- ---- ---- ----- -- -
   --------------------- -- -----
   ----------
       ------ -
           ------- ---------- -- ----
           -------- -----------
       -
   ---
---

------------ ----- ---- -- -
   --------------- ---------
---

---------------- -- -- -
   ------------------- ------- -- ---- -------
---
展开代码

4. 指导意义

通过了解 Express.js 中的 404 错误和如何使用 404 中间件来解决,您可以更好地管理和处理您的服务器日志,从而提高执行效率。即使在路由规则更改或资源路径失效的情况下,404 中间件也可以更好地处理这些错误,并向用户提供响应的错误信息。因此,在使用 Express.js 时,了解和使用 404 中间件是非常重要的。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67bf0f730c976d473a376bb4

纠错
反馈

纠错反馈