Express.js 中如何使用 node-inspector 进行调试

· 约 5 分钟读完

前言

在前端开发中,调试是非常必要的一项工作。在使用 Express.js 进行 Node.js 开发时,有时候我们需要使用一些高级的调试工具,如 node-inspector。本文将会详细介绍如何在 Express.js 中使用 node-inspector 进行调试。

简介

node-inspector 是一个基于 WebKit 的 Node.js 调试器,它可以帮助我们在 Node.js 代码中进行调试。node-inspector 使用 Chrome 开发工具的基础上进行了一些定制化的开发,能够在 Node.js 代码中进行单步调试、查看变量、设置断点等操作。

安装 node-inspector

首先,需要安装 node-inspector。在安装 node-inspector 之前,你需要安装 Node.js 和 npm。安装完成后,打开终端,输入以下命令来安装 node-inspector:

安装完成后,你可以在任何项目中使用 node-inspector。

用 node-inspector 进行调试

接下来,我们将给出一个示例代码,来详细介绍如何使用 node-inspector 进行调试。

示例代码

这是一个简单的 Express.js 应用,它监听 3000 端口,当有客户端请求时,返回一个字符串 "Hello World!"。我们将使用 node-inspector 来调试这个应用。

启动 node-inspector

首先我们需要在命令行中启动 node-inspector。在命令行中输入以下命令:

这将会启动 node-inspector 并在命令行窗口中输出一条提示信息:

启动应用程序

在启动 Express.js 应用程序之前,我们需要在命令行中执行以下命令,将应用程序绑定到指定端口,并启动调试模式:

这里的 app.js 是我们上面定义的示例代码文件名。 --inspect=0.0.0.0:5858 参数表示我们将在 5858 端口监听来自 node-inspector 的调试请求。

应用程序启动之后,你将看到类似以下输出:

现在我们已经启动了 Express.js 应用程序,它正在监听 3000 端口。同时,它还在 5858 端口启动了调试模式。在这种模式下,应用程序将在每个事件循环周期的开头检查调试器是否连接,如果是,则会将控制权交给调试器,等待我们执行调试操作。

打开调试器

接下来,我们需要打开 Chrome 浏览器,并在地址栏输入以下 URL:

这将会打开 Chrome 开发者工具页面。在该页面中,你可以看到一个 Remote Target,点击它,并选择对应的 Node.js 应用程序。如下图所示:

在成功连接 Node.js 应用程序后,你将看到一个类似以下截图的页面:

从该页面中,你可以看到应用程序的代码、变量值以及 Call Stack 等信息。

调试操作

现在我们已经成功连接了 Node.js 应用程序,接下来,我们可以进行一些调试操作了。

调试步进

我们可以通过点击 Debug 按钮来开始调试:

此时,我们将暂停当前程序执行,等待我们执行调试操作。

首先,我们可以点击 Step Over 按钮,来单步执行代码。

在每次单步执行之后,我们可以在 Call Stack 中看到当前的程序执行位置,以及在 Scope 里看到当前的变量值和作用域链。

设置断点

我们可以在需要调试的代码行上右键点击,然后在菜单中选择 Add Breakpoint 来设置断点。

一旦程序执行到断点时,程序就会自动暂停,等待我们进行调试操作。

查看变量

在调试过程中,我们可以查看变量的值。你可以在 Scope 中找到需要调试的变量值:

在 Scope 中,我们可以看到当前执行作用域中的所有变量值和作用域信息。

结语

使用 node-inspector 能够帮助我们在开发过程中,更快更方便地进行调试。上述例子仅仅是一个简单的示例,node-inspector 还有很多高级调试技巧,值得我们去深入学习和应用。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67cfdd6ee46428fe9ec0edf4