总结:我昨天刚刚使用 angular cli 和 ng update 命令将我的角度网络项目从 7.2.15 版更新到 8.1.2 版。但是现在,如果我尝试调试我的打字稿代码,突然间断点在Visual Studio Community 2019中将不再起作用?
因此,当我激活断点时,断点将变为白色并显示标签文本,内容如下:已设置断点但尚未绑定。
我已经尝试过:使用谷歌时,我发现其他用户也有类似的问题,他们通过在tsconfig.json内部设置来解决问题。
"sourceMap": true
对我来说很不幸,这并没有改变任何东西,因为我的 tsconfig.json 已经将属性 sourceMap 设置为 true,但断点仍然不会被命中。
我的猜测是角度更新在某种程度上覆盖了某些文件中的某些设置,我完全不知道。
显示一些代码:查看我的提交的比较,我注意到在tsconfig.json和package.json文件中,许多其他东西也发生了变化,例如:
tsconfig.json
+ "downlevelIteration": true,
- "module": "es2015",
+ "module": "esnext",
- "target": "es5",
+ "target": "es2015",
package.json:
- "@angular-devkit/build-angular": "^0.12.4",
+ "@angular-devkit/build-angular": "~0.801.1",
- "codelyzer": "~4.5.0",
+ "codelyzer": "^5.0.1",
- "zone.js": "~0.8.29"
+ "zone.js": "~0.9.1"
- "typescript": "3.1.6"
+ "typescript": "3.4.5"
tslint.json:
- "use-input-property-decorator": true,
- "use-output-property-decorator": true,
- "use-host-property-decorator": true,
+ "no-inputs-metadata-property": true,
+ "no-outputs-metadata-property": true,
+ "no-host-metadata-property": true,
预期结果/行为:预期是断点会命中,以便我可以看到代码中发生了什么。但如前所述,断点只是变白,不会被绑定。
最后一个问题:所以我最后的问题是:如何在 angular 2019 更新后让断点再次工作?
(21.07.2019) 编辑1:同时,我还尝试删除ClientApp文件夹中的"node_modules"文件夹,然后使用npm安装重新安装。不幸的是,断点仍然不会被命中。
(22.07.2019) 编辑 2 "这不可能是解决方案吗?" :似乎将角度恢复到版本 7.2.15 已经解决了断点问题,我可以再次查看我的断点。虽然我对这种方法不太满意,因为更新到当前版本会很棒。我还在官方 @angular/cli hub 上的 github 上打开了一个关于这个问题的案例。我将保持开放状态,以防有人有更好的解决方案从@7.2.15升级到@latest稳定版。
谢谢
将"@angular-devkit/build-angular":"0.801.2"更改为"@angular-devkit/build-angular":"0.801.0">
从 Angular 8.1 升级到 8.2 时,我发现我必须将 @angular-devkit/build-angular 从 0.803.8 降级回 0.801.2。
正如 https://github.com/angular/angular-cli/issues/15139 中所解释的,原因似乎是launch.json中的sourceMap中断了。对我来说,它破坏了sourceMapPathOverrides。
即使它指出它在 angular-cli 8.2.1 中是固定的,但它不适用于 cli 8.3.8。
我终于找到了一个对我有用的解决方案。
我的错误:我相信我的错误是试图同时更新角度和角度材料!
通过任一调用
ng update --all
或链接更新命令,例如导致ng-cli混淆@angular/核心/cli和@angular/材料/cdk之间的依赖关系ng update @angular/core @angular/cli @angular/materials @angular/cdk
...
解决方案:相反,我必须分两个单独的步骤来完成,@latest的一种特殊情况:
ng update @angular/core@latest @angular/cli@latest
注意:随着@latest安装最新的可用 Angular,可以从 7...所以在这种情况下 8...
之后我跑了:
ng update @angular/material @angular/cdk
注意:没有@latest,否则这会将 Angular 依赖项更新到版本 9(下一个),因为我已经将 Angular 更新为 8。(我试过了,不得不两次恢复更新c:叹气)
然后正确安装了带有最新@angular-devkit/build-angular
的 Angular 8,我的断点将在 Visual Studio 中再次工作。
希望这在依赖问题的情况下对某人有所帮助!
干杯!