IntelliJ IDEA 2025.1 Help

运行和调试 Node.js

IntelliJ IDEA 帮助您运行和调试您的 Node.js 应用程序。 您可以调试从 IntelliJ IDEA 启动的应用程序,也可以附加到已在运行的应用程序。

开始之前

  • 请确保 JavaScript and TypeScriptJavaScript DebuggerNode.js 必需插件在 设置 | 插件 页面上的 已安装 标签中启用。 如需更多信息,请参阅 插件管理

运行 Node.js 应用程序

IntelliJ IDEA 根据 Node.js 类型的运行配置运行 Node.js 应用程序。 IntelliJ IDEA 还使用此配置来 与 Node.js 应用程序一起启动调试器

创建 Node.js 运行/调试配置

  1. 前往 运行 | 编辑配置。 或者,从工具栏上的 编辑配置 小部件中选择 运行

    打开编辑配置对话框

    在打开的 编辑配置 对话框中,点击工具栏上的 添加 按钮("添加"按钮 ),然后从列表中选择 Node.js。 “ 运行/调试配置:Node.js” 对话框打开。

  2. 指定要使用的 Node.js 解释器。

    如果您选择 项目 别名,IntelliJ IDEA 将自动使用 Node 解释器 字段在 Node.js 页面上的项目默认解释器。 在大多数情况下,IntelliJ IDEA 会检测到项目默认解释器并自行填写字段。

    您还可以选择另一个已配置的本地或远程解释器,或者点击 浏览按钮 并配置一个新的。

  3. 文件 字段中,指定启动应用程序的主文件路径(例如, bin/www 对于 Express 应用程序)。

  4. 可选:

    • 指定自定义 Node.js 启动的 节点形参(O)。 例如,您可能希望启用一个试验性的 Node.js 功能或传递其他选项。 更多信息,请参考 Node.js official website

    • 应用程序形参(C) 字段中,指定要通过 process.argv 数组在启动时传递给应用程序的 Node.js 特定参数。

    • 要在浏览器中自动打开该应用程序,请配置一个 before-launch 任务。 点击 展开 执行前(B) 区域,点击 "添加"按钮 ,然后从列表中选择 启动Web 浏览器。 在打开的对话框中,指定应用程序起始页的 URL,例如, localhost:3000 适用于 Express 应用程序,并指定要使用的浏览器。

      启动前任务:打开浏览器

运行应用程序

如果您在应用程序中使用像 morgan 这样的日志工具并且该工具将日志写入文件,您可以在 控制台 选项卡中的 运行 工具窗口中查看这些日志。

在运行 Node.js 应用程序时管理日志

  1. 创建一个 Node.js 运行/调试配置 如上所述 ,然后转到 日志 选项卡。

  2. 点击 "添加"按钮 旁边的 将显示在控制台中的日志文件 字段,它列出了可用的日志文件(如果有)。

  3. 在打开的 编辑日志文件别名 对话框中,输入要在日志条目列表中显示的别名,并指定日志文件的位置。 选择是否显示此模式涵盖的所有文件或仅显示最后一个文件。

  4. 点击 OK 以返回 Node.js 运行/调试配置 对话框,新日志文件已添加到列表中。 请选中旁边的 处于活动状态 复选框。 若要跳过先前的内容,请选中 跳过内容 复选框。

  5. 可选:

    • 要启用将 进程控制台 输出保存到日志文件,请选中 将控制台输出保存到文件 复选框并指定文件位置。

    • 选择您想要显示的 进程控制台 的时间。

调试 Node.js 应用程序

IntelliJ IDEA 使调试 Node.js 应用程序更简单。 您可以直接在您的 JavaScript 或 TypeScript 代码中设置断点,这样就不再需要任何 debuggerconsole.log() 语句了。 您可以通过许多方法来帮助您探索代码并了解错误所在。 在 调试 工具窗口中,您可以查看调用堆栈和当前状态的变量,在编辑器中评估表达式,并逐步调试代码。

您可以通过两种方式启动调试会话:

  • 使用 Node.js 运行/调试配置启动调试器与您的应用程序一起运行。

  • 将调试器附加到已运行的应用程序。 在这种情况下,您的应用程序已经在 debug mode中运行,IntelliJ IDEA会附加到正在运行的进程。

    IntelliJ IDEA 识别 --inspect--inspect-brk 和现在不推荐使用的 --debug 标志,因此您可以使任何应用程序可调试。

    要调试正在运行的应用程序,请使用 Attach to Node.js/Chrome配置。

使用 IntelliJ IDEA,您还可以调试在 Vagrant boxesDocker containers 中运行的 Node.js 应用程序,或者通过 various transfer protocols 或 SSH 访问的远程主机上的 Node.js 应用程序。

在您的计算机上与 Node.js 应用程序一起启动调试器

启动和调试 Node.js Express 应用
  1. 在代码中必要的位置设置 断点

  2. 创建一个 Node.js 运行/调试配置 如上所述

    要在浏览器中自动打开该应用程序,请配置一个 before-launch 任务。 点击 展开 执行前(B) 区域,点击 "添加"按钮 ,然后从列表中选择 启动Web 浏览器。 在打开的对话框中,指定应用程序起始页的 URL,例如, localhost:3000 适用于 Express 应用程序,并指定要使用的浏览器。

    启动前任务:打开浏览器
  3. 从工具栏上的 运行 部件列表中,选择新创建的 Node.js 配置,然后点击其旁边的 “调试”按钮

    使用运行/调试配置启动 Node.js 调试会话

    调试工具窗口打开。

  4. 执行将触发带有断点的代码执行的步骤。 例如,从应用程序的起始页导航到浏览器中的另一页面。

  5. 切换到 IntelliJ IDEA,此时 调试 工具窗口的控件已启用。 继续调试会话——逐步执行断点 ,在帧之间切换,动态更改值, 检查被挂起的程序评估表达式 ,以及 设置监视

调试正在运行的 Node.js 应用程序

使用 IntelliJ IDEA,您可以调试已在开发模式下运行的应用程序,这意味着该应用程序是使用 --inspect--inspect -brk 标志启动的。 调试会话通过 Attach to Node.js/Chrome配置启动,并使用 Chrome Debugging Protocol

从“运行”或“调试”工具窗口或内置终端启动调试器

如果使用 --inspect--inspect-brk 标志启动应用程序,您可以从内置的 终端运行 工具窗口或 调试 工具窗口启动调试会话。

从运行工具窗口将调试器附加到正在运行的应用程序
  1. 请根据需要设置 断点

  2. 运行您的应用程序,并使用 --inspect--inspect-brk 标志。 您可以通过多种方式实现,例如:

    • 在您的 package.json 中,点击脚本旁边带有 --inspect--inspect -brk 标志的边栏中的 运行按钮 并选择 运行 '<script name>'。 有关更多信息,请参阅 运行和调试脚本

      在调试模式下启动应用程序:启动脚本
    • 打开嵌入的 终端Alt+F12 ),然后输入:

      node --inspect-brk <path to the starting page of your application relative to the project root>

  3. 终端运行 工具窗口或者 控制台 选项卡中的 调试 工具窗口会显示一条信息消息 Debugger listening <host>:<port> ,默认端口是 9229。 要开始调试,请按住 Ctrl+Shift 并点击链接。

    IntelliJ IDEA 启动调试会话,并自动生成 Attach to Node.js/Chrome配置。 执行将触发带有断点的代码执行的步骤。 例如,从应用程序的起始页导航到浏览器中的另一页面。

通过运行/调试配置将调试器附加到正在运行的应用程序

  1. 运行您的应用程序,并使用 --inspect--inspect-brk 标志, 如上所述

  2. 请根据需要设置 断点

  3. 请转到 运行 | 编辑配置 主菜单,然后在打开的 编辑配置 对话框中点击 添加新配置 ,并从列表中选择 附加到 Node.js/Chrome

    选择“Attach to Node.js /Chrome”配置类型

    运行/调试配置:附加到 Node.js/Chrome 对话框打开。

  4. 指定目标应用程序运行的主机和启动 Node.js 进程时传递给 --inspect--inspect-brk 的端口以进行连接。

    附加到 Node/Chrome 运行/调试配置

    请从信息消息中复制端口号 Debugger listening <host>:<port> ,在 终端 工具窗口或 运行工具窗口 ,它控制正在运行的应用程序。

    从 Run 工具窗口或 Terminal 开始调试:信息消息
  5. 从工具栏上的 运行 部件列表中,选择新创建的 附加到 Node.js/Chrome 配置,然后点击其旁边的 “调试”按钮调试工具窗口 打开。

  6. 执行将触发断点代码的操作。 控制调试会话的权力回到 IntelliJ IDEA。

  7. 切换到 IntelliJ IDEA. 在 调试 工具窗口中, 逐步执行断点 ,切换帧,动态更改值, 检查挂起的程序评估表达式 ,并 设置监视

调试使用 nodemon 的 Node.js 应用程序

内置调试器 IntelliJ IDEA 可以自动重新连接到运行中的 Node.js 进程。 这让您能够调试使用 nodemon utility 的 Node.js 应用程序,当代码更新时,它会自动重新加载您的 Node.js 进程。

要调试此类应用程序,您需要在 debug模式下启动它(带有 --inspect--inspect-brk 标志),然后使用 Attach to a Node.js/Chrome调试配置并启用 自动重新连接 选项来连接它。

安装 nodemon

  • 在嵌入的 终端 (Alt+F12) 中,键入 npm install --save-dev nodemonyarn add nodemon --dev 以安装 nodemon 作为开发依赖。

在调试模式下使用 nodemon 启动应用程序

  • 创建并运行以下 npm debug 脚本:

    "debug": "nodemon --inspect <path_to_the_file_that_starts_your_application>

    如需更多信息,请参阅 运行和调试脚本

  • 或者,通过 Node.js 运行/调试配置传递 inspect 标志 如上所述

调试应用程序

  1. 请根据需要在代码中设置 断点

  2. 创建一个新的 附加到 Node.js/Chrome 配置,如 调试正在运行的 Node.js 应用程序中所述,并选择 自动重新连接 复选框。

    附加无 Node.js 运行配置:选中“自动重新连接”复选框

    通常,您不需要更改配置中的端口 9229 ,因为这是调试器正在监听的默认端口。 但是,当您在调试模式下运行应用程序时,您可以仔细检查记录消息中使用的端口。

    使用 nodemon 以调试模式运行的 Node.js 应用程序:检查端口
  3. 从工具栏上的 运行 部件列表中,选择新创建的 附加到 Node.js/Chrome 配置,然后点击其旁边的 “调试”按钮。 调试器将在 IntelliJ IDEA 您的代码中设置的断点处停止。

    现在,每次您对代码进行更改并保存它们 Ctrl+S 时,nodemon 会自动重新加载应用程序,并且调试器会自动重新附加到重新启动的进程。

最后修改日期: 2025年 4月 24日