GoLand 2025.2 Help

Node.js 配合 Docker

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

您可以在 WebStorm 和 Docker 快速指南 中找到一些示例。

开始之前

  1. 请确保在 设置 | 插件 页面, 已安装 选项卡中启用了所需插件 JavaScript 和 TypeScriptJavaScript DebuggerDocker。 有关更多信息,请参阅 管理插件

  2. 请在 设置 | 插件 页面, Marketplace 选项卡中安装 Node.jsNode.js Remote Interpreter 插件,具体方法请参考 从 JetBrains Marketplace 安装插件

  3. 请在 设置 | 插件 页面, Marketplace 选项卡中安装 Node.jsNode.js Remote Interpreter 插件,具体方法请参考 从 JetBrains Marketplace 安装插件

  4. 按照 Docker 中的说明下载、安装并配置 Docker

在 Docker 中配置 Node.js 解释器

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

推荐的方法是在 设置 对话框中配置远程 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. 在打开的 配置 Node.js 远程解释器对话框 中,选择 Docker

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

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

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

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

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

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

  7. 单击 确定 返回 Node.js 解释器 对话框,在该对话框中会将新解释器添加到列表中。

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

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

    每当您在 Node Interpreter 列表中选择 Project 别名时(例如在创建运行/调试配置时),GoLand 会自动使用该解释器。

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

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

每当您在 Node Interpreter 列表中选择 Project 别名时(例如在创建运行/调试配置时),GoLand 会自动使用该默认项目解释器。

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

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

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

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

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

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

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

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

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

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

      详情请参阅 pnpm 官方网站

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

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

npm、pnpm 和 yarn 配合 Docker 使用

使用 GoLand,您可以像本地项目一样在 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. 文件 字段中,指定启动应用的主文件路径(例如, bin/www ,用于 Express 应用)。

    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 容器设置 对话框,在其中会将新的端口绑定添加到列表中。

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

    Docker:已添加端口绑定

    运行应用程序

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

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

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

    检查应用程序输出

    要确保应用按预期运行,您可以从 GoLand 的 内置 HTTP 客户端运行一个 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>/ 旁边)。

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

    调试应用程序

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

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

    3. 操作方式与 在本地启动调试器和 Node.js 应用程序时相同。

    测试应用程序

    使用 GoLand,即可在 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 使用

    使用 GoLand,即可在 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

    最后修改日期: 2025年 9月 26日