在 MEAN Stack 的 server.js 中添加错误处理

2025年3月17日 | 阅读 3 分钟

在上一节中,我们学习了如何添加 node 和 express 后端。 我们已经设置了基本的 node 和 express 应用程序。 现在,我们将通过简单地添加一些错误处理和更好的输出来改进我们的 server.js 文件。 我们将在 server.js 文件中添加以下几行代码

1) 我们将创建一个 normalizePort 函数。 这个函数将是一个更精细的函数,它确保当我们尝试设置一个端口,并且我们通过环境变量接收它时,它是一个有效的数字。 该函数将编码为

在上面的代码中,我们将端口解析为整数。 如果端口号非法,它将返回 val,即我们传递给该函数的原始端口。 如果端口大于或等于零,它将返回我们解析过的端口。

Adding error handling in server.js in MEAN Stack

2) 之后,我们将创建 onError 函数。 此函数将检查发生了哪种类型的错误,记录一些不同的内容,并从我们的 nodejs 服务器中优雅地退出。 此函数将以下列方式编码

上面的代码检查系统调用并显示端口的错误,例如特权过高,已被使用等。

Adding error handling in server.js in MEAN Stack

3) 我们将创建另一个类似于 onError 的箭头函数。 在此函数中,我们本质上只是记录我们现在正在侦听传入的请求。 这个函数理解起来有点棘手,将以以下方式编码

Adding error handling in server.js in MEAN Stack

4) 然后,我们将通过调用 normalizePort 函数来设置端口。 在此函数中,我们将传递 3000 作为字符串,因为我们从 process.env.PORT 接收到的值将是一个字符串。

Adding error handling in server.js in MEAN Stack

5) 我们将设置 node 服务器并将其附加到侦听器。 首先,我们将附加服务器以处理可能在发生错误时调用的错误。 我们还将服务器与侦听器一起附加,以便我们在开始侦听时附加服务器,然后我们将启动服务器,如下所示

Adding error handling in server.js in MEAN Stack

6) 现在,我们还没有退出服务器,我们需要退出并重新启动它才能看到它的运行。 不断地退出并重新启动服务器很烦人,为此,我们将安装一个额外的包。 这个包使它更容易,并且在开发期间使用。 我们将使用以下命令来安装该包

Adding error handling in server.js in MEAN Stack

nodemon 代表 node 监控。 这是一个强大的包,它可以监视我们的 nodejs 文件或我们的 JavaScript 文件。 如果我们在 JavaScript 或 nodejs 文件中更改了任何内容,它将自动为我们重新启动 node 服务器。

安装后,我们只需要使用它来运行我们的 node 服务器。 nodemon 命令现在将无法工作,因为我们尚未将其全局安装在我们的机器上。 我们必须在本项目范围内提供它,为此,我们需要在 package.json 文件的 scripts 部分编写一个脚本。 我们将按以下方式注册一个新脚本

Adding error handling in server.js in MEAN Stack

现在,我们将简单地使用 npm 运行该脚本,如下所示

Adding error handling in server.js in MEAN Stack

现在,如果我们在代码中进行更改,我们的 node 服务器将自动启动,如下所示

Adding error handling in server.js in MEAN Stack

下载完整项目(添加错误处理.zip)