TLDR;
技巧是更新 docker 容器内的路径/your-path
to /opt/project
.
详细解决方案
webstorm 的问题是它们不允许您定义可以选择的路径node_modules
。但他们有一个默认路径可供选择。当我想为 docker 内运行的后端节点服务集成远程调试时,我遇到了同样的问题。
您需要更新您的 docker 文件。假设你使用的 Dockerfile 是这样的
# pull official base image
FROM node:12.11-buster
# set working directory
WORKDIR /app
COPY ./package.json ./package-lock.json /app
RUN npm install
现在,这不会检测用于远程调试的 node_modules 或 webstorm 中所需的任何其他集成。
但是如果你将 dockerfile 更新为这样的
# pull official base image
FROM node:12.11-buster
# set working directory
# This done particularly for enabling debugging in webstorm.
WORKDIR /opt/project
COPY ./package.json ./package-lock.json ./.npmrc /opt/project
RUN npm install
然后网络风暴就能够按预期检测到一切。
技巧是更新路径/your-path
to /opt/project
你的 docker-compose 文件应该看起来像这样:
version: "3.7"
services:
backend-service:
build:
dockerfile: ./Dockerfile.local
context: ./
command: nodemon app.js
volumes:
- ./:/opt/project
- /opt/project/node_modules/
ports:
- 6060:6060
您可以阅读有关此内容的更多信息我的博客在这里 https://thetldr.tech/how-to-configure-webstorm-for-docker-container-node_modules/