遇到的 Express.js 错误:Failed to load resource: net::ERR_CONNECTION_REFUSED

随着 Web 技术的不断发展,前端工程师在日常开发中越来越需要掌握后端技术。其中,Express.js 是目前最受欢迎的 Node.js 后端框架之一。但在使用 Express.js 进行开发时,我们经常会遇到各种错误,其中比较常见的就是 "Failed to load resource: net::ERR_CONNECTION_REFUSED" 错误。

什么是 "Failed to load resource: net::ERR_CONNECTION_REFUSED" 错误?

"Failed to load resource: net::ERR_CONNECTION_REFUSED" 错误是指在浏览器中加载某个资源(例如 CSS 文件、JavaScript 文件等)时,无法建立与该资源的连接。这个错误通常会在使用 Express.js 开发 Web 应用程序时出现。

当你遇到这个错误时,你将看到以下错误消息:

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

具体的错误消息可能略有不同,但出现的情况都是相似的。这个错误消息通常会出现在浏览器的开发者工具中(F12)。

为什么会出现 "Failed to load resource: net::ERR_CONNECTION_REFUSED" 错误?

"Failed to load resource: net::ERR_CONNECTION_REFUSED" 错误的原因是,浏览器无法连接到正在运行的 Express.js 服务。这可能是由于以下一些原因导致的:

  • Express.js 服务未正确配置或启动;
  • Express.js 服务已停止或崩溃;
  • Express.js 服务正在运行,但端口号不正确或被占用。

如何解决 "Failed to load resource: net::ERR_CONNECTION_REFUSED" 错误?

要解决 "Failed to load resource: net::ERR_CONNECTION_REFUSED" 错误,需要逐步排除故障,并找到根本原因。以下是一些可能的解决方法:

1. 确认 Express.js 服务已正确启动

首先,你需要确认 Express.js 服务已正确启动。你可以使用以下命令启动服务:

- ---- ------

或者,你可以使用 Nodemon 工具进行自动重启:

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

确保在运行服务时没有报错,并检查终端日志以确保服务成功启动。

2. 检查端口号和监听地址

如果服务已经正确启动,那么你需要检查服务的端口号和监听地址。默认情况下,Express.js 使用 3000 端口。你可以通过以下代码指定端口号:

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

确保端口号与请求的端口号匹配。如果你的服务正在运行在非默认端口上,那么你需要指定正确的端口号。

3. 检查防火墙设置

另一个可能导致 "Failed to load resource: net::ERR_CONNECTION_REFUSED" 错误的原因是防火墙设置。你需要确保你的计算机的防火墙允许与指定端口号的服务进行通信。

4. 确认 Express.js 服务没有崩溃

如果服务已经启动,但仍然无法连接,则可能是由于服务崩溃导致的。你需要检查服务的日志文件,查找与崩溃有关的错误信息,并修复它们。

5. 确认 Express.js 服务没有被占用

最后,你需要确认端口号没有被占用。你可以使用以下命令检查端口号的使用情况:

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

如果输出信息包含 "LISTEN",则表示端口号已被占用。你需要使用其他端口号或关闭占用该端口号的进程。你可以使用以下命令关闭进程:

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

其中, 是占用端口号的进程 ID。

示例代码

下面是一个简单的 Express.js 应用程序。如果在启动该应用程序时出现 "Failed to load resource: net::ERR_CONNECTION_REFUSED" 错误,则可能是由于端口号不正确或被占用。

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

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

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

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

结论

"Failed to load resource: net::ERR_CONNECTION_REFUSED" 错误是使用 Express.js 进行开发时经常会遇到的问题之一。要解决该问题,你需要逐步检查故障,并找到根本原因。通过以上的解决方法,你应该能够轻松地解决此类错误。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/672db3c6eedcc8a97c85af32