Bož*_*vić 2 debugging node.js visual-studio-code nestjs
一段时间以来,我一直在尝试弄清楚如何设置节点调试进程的附件,这些进程在我的环境中从单一存储库设置中的多个正在运行的 Nestjs 应用程序中公开。(用VS代码)
https://github.com/bozvul993/nest-testing-mono-repo-debug
理想情况下,我希望在代码更改时重新启动调试会话[如果可能的话],但更重要的是工作。
我已经为我的示例项目提供了一个存储库。运行/docker文件夹
内的应用程序docker-compose -f dev.yml up
这将显示 monorepo 中的三个应用程序。所有向主机公开其默认节点调试端口的应用程序...
我用来尝试此操作的 vs code 启动配置包括:
"type": "node",
"request": "attach",
"name": "Debug App1",
"address": "0.0.0.0",
"port": 9231,
"localRoot": "${workspaceFolder}/mono-repo",
"remoteRoot": "/app/mono-repo",
"trace": true,
"restart": true,
"sourceMaps": true,
"skipFiles": [
"<node_internals>/**"
]
}
With Web-storm this was easier to achieve somehow..
Run Code Online (Sandbox Code Playgroud)
Mat*_*ias 14
我发现这个https://code.visualstudio.com/docs/containers/debug-node非常有用。
长话短说,我的 docker-compose 文件看起来像
version: '3.7'
services:
api:
container_name: api
build:
context: .
target: development
volumes:
- '.:/app'
- './node_modules:/app/node_modules'
command: yarn start:debug
ports:
- ${API_PORT}:${API_PORT}
- 9229:9229
networks:
- network
mongo_db:
...
...
...
networks:
network:
driver: bridge
Run Code Online (Sandbox Code Playgroud)
从文件中选取的文件development部分看起来像Dockerdocker-compose.yaml
FROM node:16-alpine as development
ARG NODE_ENV=development
ENV NODE_ENV=${NODE_ENV}
WORKDIR /app
COPY package.json .
COPY yarn.lock .
RUN yarn
COPY . .
RUN yarn build
FROM node:16-alpine as production
...
Run Code Online (Sandbox Code Playgroud)
而我的launch.json样子
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug: api",
"type": "node",
"request": "attach",
"restart": true,
"port": 9229,
"address": "0.0.0.0",
"localRoot": "${workspaceFolder}",
"remoteRoot": "/app",
"protocol": "inspector",
"skipFiles": ["<node_internals>/**"]
}
]
}
Run Code Online (Sandbox Code Playgroud)
最后,但并非最不重要的一点是,start:debug的各个部分package.json必须稍作改变。
我的看起来像
"start:debug": "nest start --debug 0.0.0.0:9229 --watch",
Run Code Online (Sandbox Code Playgroud)
在我的机器上工作:) 首先使用 启动所有容器docker compose up -d,然后从 VS code 启动调试过程。
VS 代码 1.57.1、Docker 版本 20.10.7、MacOS
| 归档时间: |
|
| 查看次数: |
2970 次 |
| 最近记录: |