我正在尝试在 vs code 中调试由 NX 项目创建的 Nestjs 应用程序。我添加了 Launch.json 文件,如下所示。我有两个项目,第一个是 Angular,第二个是 NestJS,我想调试我的 NestJS 项目。
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "attach",
"name": "Attach by Process ID",
"processId": "${command:PickProcess}",
"skipFiles": ["<node_internals>/**"]
},
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"skipFiles": ["<node_internals>/**"],
"program": "${workspaceFolder}/serve",
"outFiles": ["${workspaceFolder}/**/*.js"]
}
Run Code Online (Sandbox Code Playgroud)
] }
每当我尝试添加断点时,它们都会变成灰色,并显示它们是未绑定的断点,即使指针转到断点后仍然不会在其处暂停。请帮助我解决任何问题。
小智 8
对我有用的是运行应用程序,nx serve my-nest-project然后使用以下 launch.json 启动 VS 代码调试器
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach to nestjs",
"request": "attach",
"cwd": "${workspaceFolder}/app/my-nest-project",
"type": "node",
"port": 9229,
}
]
}
Run Code Online (Sandbox Code Playgroud)
对我来说最重要的部分是,cwd因为我有一个 monorepo 工作区,所以需要cwd指向 Nestjs 应用程序的根目录而不是工作区根目录。
如果您需要对调试端口有更多的控制,您可以这样设置nx serve my-nest-project --port=9223。
小智 8
我找到了一种更好的方法,不需要我事先手动启动应用程序。
我的launch.json文件:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch my-nest-project",
"request": "launch",
"type": "node",
"runtimeExecutable": "npx",
"runtimeArgs": [
"nx",
"serve",
"my-nest-project"
],
"console": "integratedTerminal",
"cwd": "${workspaceFolder}/app/my-nest-project"
}
]
}
Run Code Online (Sandbox Code Playgroud)
这里更改my-nest-project为您的项目名称。
| 归档时间: |
|
| 查看次数: |
2783 次 |
| 最近记录: |