node.js - 如何在vscode调试器中调试多个 Node 项目?

标签 node.js visual-studio-code vscode-debugger

我在两个单独的工作区中有两个单独的 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/

相关文章:

visual-studio-code - 如何修复 Visual Studio Code 以便它运行和调试简单的基本脚本(.bas 文件)?

javascript - 有什么方法可以计算 2 个字符串之间的匹配百分比

node.js - Meteor 需要 Node v0.10.41 或更高版本 heroku 部署错误

typescript - Deno:VSCode typescript 不知道 ES6

visual-studio-code - 如何找出哪个扩展在 vscode 中提供了命令?

.net - 我不能再调试我的 dotnet 项目了。发生无法加载源错误

node.js - NodeJs错误: Can't set headers after they are sent

node.js - 连续迭代 mongodb 游标(在移动到下一个文档之前等待回调)

visual-studio-code - VSCode 中自定义 JSX 组件的选项卡快捷方式

javascript - 语法错误 : Cannot use import statement outside a module