为什么 vs19 中的断点在 angular 8 更新后停止工作?



总结:我昨天刚刚使用 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 中再次工作。

希望这在依赖问题的情况下对某人有所帮助!

干杯!

最新更新