📜  ExpressJS-调试(1)

📅  最后修改于: 2023-12-03 15:00:40.729000             🧑  作者: Mango

ExpressJS-调试

ExpressJS 是基于 Node.js 平台的极简、灵活的 web 应用开发框架,它可以帮助我们快速搭建一个强大的 web 应用程序。但是,在开发大规模应用程序时,调试却是一件繁琐且必要的事情。在 ExpressJS 中,我们可以利用诸多工具方便地进行调试,本文将对这些工具进行介绍。

1. Node Inspector

Node Inspector 是一个 Node.js 应用程序调试器,它提供了一个基于 WebKit 探查器的用户界面。你可以利用 Node Inspector 在浏览器的调试控制台中设置断点、单步调试、查看栈和变量等。是一个方便且易于使用的工具。

安装:

npm install -g node-inspector

使用:

  1. 使用命令 node --inspect app.js 启动应用程序。

  2. 打开一个新的浏览器窗口,输入网址 chrome://inspect/#devices 并回车。

  3. 在 DevTools 中打开新窗口,点击 Remote Target。

  4. 选择你要调试的应用程序。

在浏览器 DevTools 的 Network 面板,你将看到应用程序运行的所有 HTTP 请求和响应。

2. Nodemon

Nodemon 是一个 Node.js 应用程序的监视器,它可以自动检测代码的更改并重启你的应用程序。可以帮助你更快地进行开发和调试。

安装:

npm install -g nodemon

使用:

使用命令 nodemon app.js 替代 node app.js 启动应用程序。

3. Debug

ExpressJS 默认使用了 Node.js 内建的调试工具,可以使用 debug 模块进行调试。debug 模块允许你为特定的模块设置调试语句并控制该模块的调试信息是否被打印。

安装:

无需安装,是 Node.js 自带的模块。

使用:

  1. 在你的应用程序的任意位置引入该模块。
const debug = require('debug')('express-app');
  1. 在你需要进行调试的代码行添加调试语句。
debug('Logging with debug module.');
  1. 在运行应用程序时,为 DEBUG 环境变量设置相应的值并重启应用程序。
DEBUG=express-app node app.js
4. Error Handler

为了更加友好和人性化地返回错误信息,可以在应用程序中添加 Error Handler 中间件,它会自动将生产环境和开发环境下的错误信息呈现给用户。

使用:

在你的应用程序中添加如下代码:

if (process.env.NODE_ENV === 'development') {
  app.use((err, req, res, next) => {
    res.status(err.status || 500);
    res.send({
      message: err.message,
      error: err
    });
  });
} else {
  app.use((err, req, res, next) => {
    res.status(err.status || 500);
    res.send({
      message: err.message,
      error: {}
    });
  });
}
5. Conclusion

以上为 ExpressJS 的调试工具介绍,它们可以帮助你更快速地进行开发和调试,避免出现不必要的错误。当然还有其他一些工具可以使用,上述只是其中一些,希望本文能对你有所帮助。