如何在 Visual Studio Code 中调试 Angular 多项目工作区

BuZ*_*dEE 5 google-chrome visual-studio-code vscode-tasks angular vscode-debugger

如何使用VS Code - Chrome 调试器在 VSCode 中调试 Angular 多项目工作区?迁移到 Angular 多项目工作区后,调试不再起作用。如果我设置了断点,我会收到以下消息。

断点设置但尚未绑定

我找到了一篇关于这个主题的博客文章“用于 Angular 多项目工作区的 Visual Studio 代码断点”。我将以下内容添加到我的launch.json,我替换"webRoot": "${workspaceRoot}"""webRoot": "${workspaceFolder}"

{
    "name": "Launch new-app in Chrome against localhost (with sourcemaps)",
    "type": "chrome",
    "request": "launch",
    "runtimeExecutable": "/usr/bin/chromium-browser",
    "runtimeArgs": [
        "--disable-extensions"
    ],
    "url": "http://localhost:4200",
    "webRoot": "${workspaceFolder}",
    "sourceMaps": true,
    "sourceMapPathOverrides": {
        "/./*": "${webRoot}/projects/new-app/*",
        "/src/*": "${webRoot}/projects/new-app/src/*",
        "/*": "*",
        "/./~/*": "${webRoot}/node_modules/*",
    },
}
Run Code Online (Sandbox Code Playgroud)

我也new-app用正确的应用程序名称替换了它,但它仍然不起作用。

文件夹结构:

VSCode Angular 多项目文件夹结构

谁能帮我解决这个问题?

BuZ*_*dEE 5

我通过使用.scripts命令找出sourceMapPathOverrides属性的正确路径来实现这一点。

    {
      "name": "Launch editor in Chrome against localhost (with sourcemaps)",
      "type": "chrome",
      "request": "launch",
      "runtimeExecutable": "/usr/bin/chromium-browser",
      "runtimeArgs": [
        "--disable-extensions"
      ],
      "url": "http://localhost:4200",
      "webRoot": "${workspaceFolder}",
      "sourceMaps": true,
      "sourceMapPathOverrides": {
          "webpack:/*": "${webRoot}/projects/apps/editor/*",
          "webpack:///./src/*": "${webRoot}/projects/apps/editor/src/*",
          "/*": "*",
          "/./~/*": "${webRoot}/node_modules/*",
      },
  }
Run Code Online (Sandbox Code Playgroud)