如何使用VS Code - Debugger for Chrome在VSCode中调试Angular多项目工作区?在迁移到Angular多项目工作空间后,调试不再工作。如果我设置了断点,我会得到以下消息。
已设置断点但尚未绑定
我找到了关于这个主题的blog post:"Visual Studio Code Breakpoints for Angular Multi-Project Workspace"。我在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/*",
},
}
我还用正确的应用程序名称替换了new-app
,但它仍然不起作用。
文件夹结构:
有人能帮我把这个工作做好吗?
3条答案
按热度按时间l2osamch1#
我通过使用
.scripts
命令找出sourceMapPathOverrides
属性的正确路径来实现这一点。jdzmm42g2#
我正在使用带有app & library的angular 10 workspace,在我的库中设置断点时遇到了问题。
我需要告诉
ng serve
包含供应商源Map。在projects /“my-app”/ architect /“serve”/ options下将
sourceMap
对象添加到angular.json
:launch.json
:juud5qan3#
在我的例子中,使用Angular 9的多项目工作空间(所以使用Ivy和AOT),我必须将
webroot
设置为捆绑脚本的位置(带有 *. js.map文件),所以它是:"webRoot": "${workspaceFolder}/MyWebProj/wwwroot"
。由于
.scripts
能够列出所有无效路径的文件。所以在那之后,我不得不简单地调整
sourceMapPathOverrides
中的路径。路径应该相对于webroot
。