Express.js 中的报错:Listening on undefined:undefined ,怎么办?

在使用 Express.js 进行开发时,有时会遇到一个报错:“Listening on undefined:undefined”。这个报错通常会在尝试启动服务器时出现,它告诉我们服务器监听的 IP 地址和端口号都是 undefined。

那么,为什么会出现这个报错呢?如何解决它?本文将为大家详细介绍。

问题原因

在 Express.js 中,我们可以使用以下代码启动服务器:

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

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

这段代码会启动一个监听端口为 3000 的服务器,并在控制台输出“Server is running on port 3000”。

但是,如果我们在启动服务器时没有指定端口号,就会出现“Listening on undefined:undefined”的报错。

例如,以下代码就会出现这个报错:

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

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

这是因为,当我们没有指定端口号时,Express.js 会默认使用端口号为 0,表示随机分配一个可用的端口号。但是,在控制台输出日志时,我们使用了端口号 0,而这个端口号并不是我们想要监听的端口号,因此就出现了“Listening on undefined:undefined”的报错。

解决方法

要解决这个问题,我们需要明确服务器监听的 IP 地址和端口号。对于 IP 地址,我们可以使用 0.0.0.0,表示监听所有的 IP 地址。对于端口号,我们可以手动指定一个合适的端口号。

例如,以下代码就可以解决这个问题:

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

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

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

这段代码会启动一个监听端口为 3000,IP 地址为 0.0.0.0 的服务器,并在控制台输出“Server is running on 3000”。

总结

通过本文的介绍,我们了解了“Listening on undefined:undefined”报错的原因,以及如何解决它。在使用 Express.js 进行开发时,我们要注意明确服务器监听的 IP 地址和端口号,避免出现这个报错。

希望本文能够帮助大家更好地使用 Express.js 进行开发。

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