Express.js 中的跟踪和调试技巧

在使用 Express.js 进行 Web 开发时,跟踪和调试是非常重要的技巧。这些技巧可以帮助我们更快地诊断错误,从而提高代码质量和开发效率。

在这篇文章中,我们将介绍一些实用的 Express.js 跟踪和调试技巧,包括日志记录、错误处理和调试工具。

日志记录

日志记录是一种记录应用程序运行时消息的技术,包括对请求的响应、错误信息和调试信息等。在生产环境中,日志记录可以帮助我们监控应用程序的稳定性和性能,以及快速定位和解决问题。

Express.js 提供了一个名为 morgan 的中间件,可以轻松地添加日志记录到应用程序中。安装 morgan

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

然后在应用程序中引用它:

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

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

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

在这个例子中,我们使用 tiny 格式的日志记录。morgan 支持多种格式,可以根据自己的需要进行设置。启动应用程序后,可以在控制台中看到类似下面的输出:

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

这是一个请求的日志信息,包括请求方法、路径、响应状态码、持续时间和响应大小等。

错误处理

在开发过程中,错误是不可避免的。一个好的错误处理机制可以帮助我们更快地定位和解决错误,并减少应用程序出错的风险。

Express.js 提供了一个中间件函数 next(error),可以用来处理错误。在路由处理程序中,如果出现了错误,我们可以将错误传递给 next(error)。这会在错误堆栈中的下一个中间件函数中传入错误对象,并将控制权传递给全局错误处理程序。

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

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

在这个例子中,当用户请求中没有提供 ID 参数时,我们会将一个错误对象传递给 next(),控制权将传递到全局错误处理程序中。在全局错误处理程序中,我们将响应状态码设置为 400,并渲染一个错误页面来通知用户。

调试工具

除了日志记录和错误处理外,调试工具也是调试 Express.js 应用程序的好帮手。

Nodemon

Nodemon 是一个监视文件更改并自动重启应用程序的工具。它可以自动检测应用程序中的更改,并使我们免于手动地停止和重新启动应用程序。

安装和使用 Nodemon:

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

然后在 package.json 文件中添加一个脚本:

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

当我们运行 npm run dev 时,Nodemon 会监视文件更改并自动重启应用程序。

Chrome 开发者工具

Chrome 开发者工具 是一款强大的工具,它可以帮助我们调试 JavaScript 和 HTML/CSS。在 Express.js 应用程序中,我们可以使用 Chrome 开发者工具来调试客户端和服务器端代码。

在 Chrome 开发者工具的 Network 选项卡中,我们可以查看请求和响应的详细信息,包括请求和响应头、请求参数和响应数据等。

在 Sources 选项卡中,我们可以调试 JavaScript 代码,例如设置断点、执行代码和监视变量等。

在 Console 选项卡中,我们可以调试客户端和服务器端的 JavaScript 代码。在服务器端代码中,我们可以使用 console.log() 来输出调试信息,例如:

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

在客户端代码中,我们可以使用 debugger 语句来设置调试断点,例如:

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

当我们单击调用 handleClick() 函数的按钮时,代码会在 debugger 语句处暂停,我们可以在 Chrome 开发者工具的 Sources 选项卡中进行调试。

结论

在本文中,我们介绍了几个可以帮助我们跟踪和调试 Express.js 应用程序的技巧。通过加强日志记录、错误处理和调试工具的使用,可以帮助我们更快地定位和解决问题,提高应用程序的质量和开发效率。

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