我在两个单独的工作区中有两个单独的 Node 项目。我正在尝试使用 vscode 调试器调试项目,但一次只能调试一个项目。如果我在启动第一个项目的调试器后尝试启动第二个项目的调试器,vscode 调试器会再次重新启动第一个项目。
我已经阅读了各种教程和 vscode 文档来调试 Nodejs 和 vscode 调试,但无济于事。以下是两个项目的启动配置。
项目1(堡垒):
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch fort",
"runtimeExecutable": "npm",
"runtimeArgs": [
"start"
],
"envFile": "${workspaceFolder}/.env",
"port": 9229
}
]
}
scripts
的值package.json
中的属性
"scripts": {
"start": "node --inspect app.js",
"test": "echo \"Error: no test specified\" && exit 1"
}
项目2(用户管理):
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch User Management",
"runtimeExecutable": "npm",
"runtimeArgs": [
"start"
],
"envFile": "${workspaceFolder}/.env",
"port": 9229
}
]
}
scripts
的值package.json
中的属性
"scripts": {
"start": "node --inspect server.js",
"test": "echo \"Error: no test specified\" && exit 1"
}
根据我阅读 vscode 文档后的理解,如果我有单独的 launch.json
存在于 .vscode
特定配置将用于启动调试器的工作区文件夹。
也许我在文档中遗漏了一些东西,但我已经投入了足够的时间并且无法找到解决方案。
最佳答案
您需要使用两个单独的端口来连接调试器,例如:
项目1:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch fort",
"runtimeExecutable": "npm",
"runtimeArgs": [
"start"
],
"envFile": "${workspaceFolder}/.env",
"port": 9228
}
]
}
或者如果您想附加到流程:
{
"type": "node",
"request": "attach",
"name": "Attach",
"port": 9228
}
在端口 9228 上启动 Node 检查:
node --inspect=9228 index.js
您可以保留第二个项目的默认值。
关于node.js - 如何在vscode调试器中调试多个 Node 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55333105/