WebStorm 2025.2 Help

Node.js 与 Docker

借助 Docker,您可以快速引导 Node.js 应用以在 WebStorm 中运行、调试和分析。 IDE 会负责初始配置,自动创建新的 Dockerfile ,构建并运行镜像,同步源代码,并在容器中安装 npm依赖项。

您可以在 Quick Tour of WebStorm and Docker.中找到一些示例。

开始之前

  1. 请确保已在 设置 | 插件 页面的 已安装 选项卡中启用所需插件: JavaScript DebuggerNode.jsNode.js Remote InterpreterDocker。 如需了解更多信息,请参阅 Managing plugins

  2. 请按照 Docker 中所述下载、安装并配置 Docker

在 Docker 中配置 Node.js 解释器

配置Node.js 远程解释器 对话框中配置 Docker 中的 Node.js 解释器。 您可以从 Node.js 页签中的 设置 对话框打开此对话框,或在稍后 创建或编辑 Node.js 运行/调试配置 时打开,以在 Docker 中运行或调试应用。

推荐方式是在 设置 对话框中配置远程 Node.js 解释器。 在这种方式下,您可以将该解释器及其关联包管理器设为项目默认项。 如此一来,您不仅可以使用配置好的 Docker 中 Node.js 解释器运行和调试应用,还能管理项目依赖、运行测试并进行代码检查。 请参阅下方内容: npm、pnpm 与 yarn 配合 Docker 使用测试应用ESLint 与 Docker

直接在 Node.js 运行/调试配置中配置的远程 Node.js 解释器仅可用于该配置中。

创建远程 Node.js 解释器

  1. 打开 设置 对话框(Ctrl+Alt+S ),然后转到 语言和框架 | Node.js

  2. 点击 浏览按钮 按钮,位于 Node 解释器(I) 字段旁边。

    添加解释器 - 浏览按钮
  3. 在包含所有当前已配置解释器列表的 Node.js Interpreters 对话框中,点击工具栏上的 添加按钮 ,然后从上下文菜单中选择 添加远程

    在 Docker 容器中配置 Node.js 解释器:添加远程
  4. 在打开的 Configure Node.js Remote Interpreter 对话框中,选择 Docker

  5. 服务器 列表中选择要使用的 Docker 配置。

    在 Docker 容器中配置 Node.js 解释器:选择 Docker 服务器

    或者,点击字段旁边的 新建 并按照 启用 Docker 支持中的说明配置 Docker 服务器。

  6. 镜像名称 列表中选择要使用的镜像。

    在 Docker 容器中配置 Node.js 解释器:选择 Docker 镜像

    Node.js 可执行文件会自动检测并显示在 Node.js 解释器路径 字段中。

  7. 点击 确定 返回到 Node.js 解释器 对话框,在此处新解释器已添加到列表中。

    远程解释器对话框:已将新的 Node.js 解释器添加至列表
  8. 要将新配置的解释器设置为项目默认值,请在列表中选中它,然后点击 确定 返回到 Node.js 对话框。

    设置:新配置的远程 Node.js 解释器已设为默认值

    WebStorm 在每次从 Node 解释器 列表中选择 Project 别名时都会自动使用该解释器,例如在创建运行/调试配置时。

    要使用与新解释器关联的软件包管理器来管理项目依赖项,请在项目中将该软件包管理器设置为默认值。 为此,请在 软件包管理器(M) 字段中指定包管理器的位置。 了解详情,请参阅 指定默认项目 Node.js 解释器和包管理器

指定默认项目 Node.js 解释器和包管理器

WebStorm 在每次从 Node 解释器 列表中选择 Project 别名时都会自动使用默认项目解释器,例如在创建运行/调试配置时。

默认项目包管理器会自动用于管理依赖项,例如,从 <package manager> install 文件中运行 package.json ,或安装第三方工具,如 ESLint、Prettier 等。

  1. 打开 设置 对话框(Ctrl+Alt+S ),然后前往 语言和框架 | Node.js

  2. Node 解释器(I) 列表中选择要在当前项目中默认使用的配置。

  3. 包管理器 列表中选择与要使用的软件包管理器关联的别名。 WebStorm 会自动检测其位置。

    设置:新配置的远程 Node.js 解释器已设为默认值

    或者,请手动指定所需软件包管理器的位置。

    • npm 可执行文件的默认位置为 /usr/local/lib/node_modules/npm

    • pnpm 的默认位置取决于安装方式:

      1. 通过 npm 安装时位置为 /usr/local/lib/node_modules/pnpm

      2. 通过 curl 安装时位置为 /usr/local/pnpm-global/<version>/node_modules/pnpm curl -f https://get.pnpm.io/<version>.js | node - add --global pnpm)。

      详细了解,请参阅 pnpm 官方网站

    • yarn 的默认位置为 /opt/yarn-<version>5 ,例如 /opt/yarn-v1.22.5

    在 Docker 容器中配置 Node.js 解释器:设为默认项目解释器

npm、pnpm 与 yarn 配合 Docker 使用

使用 WebStorm,您可以像操作本地项目一样,在 Docker 容器中管理项目依赖项并运行脚本。

  1. 请确保已配置 Docker 中的远程 Node.js 解释器

  2. 指定默认项目 Node.js 解释器和包管理器

  3. 管理项目依赖项。

    • 打开您的 package.json 文件,并按照本地开发方式操作,例如,从上下文菜单中选择 运行 '<package manager> install'。 依赖项会使用 Docker 容器内的默认包管理器安装,并且项目中会出现 node_modules 文件夹。

    • 或者,打开内嵌的 终端Alt+F12 ),然后手动安装所需的软件包,例如,运行 npm install --save-dev eslint

    详细了解,请参阅 安装和更新包编辑 package.json

  4. 运行和调试脚本

创建 Node.js 运行配置

  1. 前往 运行 | 编辑配置。 在打开的 编辑配置 对话框中,点击工具栏上的 “添加新配置”按钮 ,然后从上下文菜单中选择 Node.js。 将打开 运行/调试配置:Node.js 对话框。

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

    Node.js 运行/调试配置:已指定 JavaScript 文件
  3. 如有需要,请按照 运行与调试 Node.js 应用中的说明指定一些可选设置。

  4. Node 解释器(I) 列表中,选择在 Docker 环境中的相关远程 Node.js 解释器。

    Node.js 与 Docker:运行/调试配置,选择解释器

    或者,点击 浏览按钮 ,在 Node 解释器(I) 字段旁边,并按照 上述说明配置远程 Node.js 解释器。

    Node.js 与 Docker:运行/调试配置,配置解释器,选择“添加远程”
  5. 检查自动生成的 Docker 容器设置。 点击 展开图标 以弹出窗口形式打开设置。

    Node.js 与 Docker:运行/调试配置,Docker 容器设置
  6. 可选 :配置端口绑定, 详见下文

配置端口绑定(可选)

基本上,您需要将应用运行的端口与容器的端口绑定。

点击 浏览图标 ,在 编辑 Docker 容器设置 字段旁边,并在打开的 编辑 Docker 容器设置 对话框中指定设置。

  1. 展开 端口绑定 区域,并点击工具栏上的 添加按钮。 在打开的 端口绑定 对话框中,按如下方式映射端口:

  2. 点击 修改选项 并选择要指定的选项:

    配置 Docker 容器设置:选择要指定的端口绑定选项
    • 容器端口 字段中,输入应用中指定的端口。

    • 主机端口 字段中,输入希望从计算机访问应用所使用的任意端口。

    • 主机IP 字段中,输入 Docker 主机的 IP 地址。 如果使用的是 localhost ,请输入 127.0.0.1

      Docker:已指定端口绑定
    • 点击 确定 返回到 编辑Docker 容器设置 对话框,在此处新端口绑定已添加到列表中。

    Docker:已添加端口绑定
  3. 点击 确定 以返回 运行/调试配置:Node.js 对话框,其中端口绑定显示在 Docker 容器设置 字段。

    Docker:已添加端口绑定

    运行应用

    在 Docker 容器中运行 Node.js 应用
    1. 创建一个 Node.js 运行/调试配置, 如上所述

    2. 在工具栏的 选择运行/调试配置 列表中,选择 新创建的 Node.js 配置

    3. 点击 运行按钮选择运行/调试配置 列表。

    检查应用输出

    为确保应用程序按预期运行,您可以从 WebStorm 内置 HTTP 客户端 运行一个 HTTP 请求。

    Node.js 与 Docker:通过 HTTP 请求连接正在运行的应用
    1. 创建一个 HTTP 请求文件。

    2. 编写以下请求:

      GET http://<host IP>:<container port>/

      例如:

      GET http://127.0.0.1:3010/
    3. 点击 运行 HTTP 请求按钮 ,然后点击 运行 HTTP 请求按钮 (在 运行 http://<host IP>:<container port>/ 旁边)。

      发起 HTTP 请求

      应用程序输出显示在 运行 工具窗口的单独标签页中。

      应用输出显示在“运行”工具窗口中

    调试应用

    在 Docker 容器中调试 Node.js 应用
    1. 根据需要在 Node.js 代码中设置 断点

    2. 创建一个 Node.js 配置, 如上所述 ,在工具栏的 选择运行/调试配置 列表中选择该配置,并点击其旁边的 调试按钮

    3. 方式同本地 启动调试器与 Node.js 应用程序

    测试应用

    在 WebStorm 中,您可以在 Docker 容器内运行 MochaJest 测试,其方式与在本地运行相同。 有关详情,请参阅 MochaJest

    1. 请确保 Docker 中配置了相应的远程 Node.js 解释器,并将其设为项目的默认解释器。 还需确保与该远程解释器关联的软件包管理器已设置为项目默认值。 有关详情,请参阅 在 Docker 中配置 Node.js 解释器npm、pnpm 与 yarn 配合 Docker 使用

    2. 打开您的 package.json ,确保所需测试框架已列在 devDependencies 部分中:

      { "name": "node-express", "version": "0.0.0", "private": true, "dependencies": { "cookie-parser": "~1.4.4", "debug": "~2.6.9", "express": "~4.16.1", "http-errors": "~1.6.3", "morgan": "~1.9.1", "pug": "^3.0.2" }, "devDependencies": { "chai": "^4.3.4", "concurrently": "^6.3.0", "eslint": "^8.1.0", "http-server": "^14.0.0", "jest": "^27.3.1", "mocha": "^9.1.3", "nyc": "^15.1.0" } }
    3. 在编辑器的任意位置右键点击,然后从上下文菜单中选择 运行 '<package manager> install'

    4. 根据 Mocha 官方网站Jest 官方网站 的说明创建测试。

    5. 可直接在编辑器中运行并调试单个测试,或创建运行/调试配置以按 运行 Mocha 测试调试 Mocha 测试运行 Jest 测试调试 Jest 测试 中所述启动部分或全部测试。

    ESLint 与 Docker

    在 WebStorm 中,您可以在 Docker 容器中对代码运行 ESLint ,其方式与在本地运行相同。 有关详情,请参阅 JavaScript 代码质量工具ESLint

    1. 请确保 Docker 中配置了相应的远程 Node.js 解释器,并将其设为项目的默认解释器。 还需确保与该远程解释器关联的软件包管理器已设置为项目默认值。 有关详情,请参阅 在 Docker 中配置 Node.js 解释器npm、pnpm 与 yarn 配合 Docker 使用

    2. 打开您的 package.json ,确保 ESLint 已在 devDependencies 部分中列出:

      { "name": "node-express", "version": "0.0.0", "private": true, "dependencies": { "cookie-parser": "~1.4.4", "debug": "~2.6.9", "express": "~4.16.1", "http-errors": "~1.6.3", "morgan": "~1.9.1", "pug": "^3.0.2" }, "devDependencies": { "eslint": "^8.1.0" } }
    3. 在编辑器的任意位置右键点击,然后从上下文菜单中选择 运行 '<package manager> install'

    4. 之后,ESLint 的工作方式将与在本地处理代码时相同。 您可以在编辑器或 问题 工具窗口中查看检测到的问题描述,并应用建议的快速修复。 有关详情,请参阅 JavaScript 代码质量工具ESLint

      在 Docker 容器中使用 ESLint
    最后修改日期: 2025年 9月 26日