Angular:在 VSCode 中运行 ngcc 会导致性能问题
Posted
技术标签:
【中文标题】Angular:在 VSCode 中运行 ngcc 会导致性能问题【英文标题】:Angular: Running ngcc causing performance issues in VSCode 【发布时间】:2021-05-22 12:16:48 【问题描述】:在我上次更新后的 Visual Studio Code 编辑器中,我在状态栏中看到以下文本:
Angular: Running ngcc for project d:/..../tsconfig.spec.json
它看起来像被冻结或什么都不做,只是旋转箭头。
在此之前,我看到了一个类似的,以tscfonfig.json
结尾...
由于此文本显示为状态,我的 vscode 存在一些性能问题......它变得非常非常慢。有时,快速导入(ctrl-space)通常不起作用,找不到类,接口在此更新之前运行良好。
这是什么?它是必要的还是我可以以某种方式关闭?这可能是插件错误吗?
【问题讨论】:
遇到同样的问题,我不认为这是由于扩展引起的,而是因为解决方案样式 tsconfig.. 这是否与 VSCode 有关,或者您是否在终端中也遇到此问题?曾经有一段时间,在 Windows 上进行编译的速度慢得令人难以置信。在 VirtualBox 中启动 Linux 并在 Linux 上转译更快。可能与此有关。 与 VSCode 相关。 Windows 上的其他应用程序运行良好。否则ng build --watch
也运行良好。只有在 VSCode 中发生了一些奇怪的事情......
这里相同,使得 VSCode 无法用于相当大的角度回购。不得不切换 IDE 以保持理智
我遇到了同样的问题:VSCode: 1.53.2 Angular Language Service: 11.2.2 "@angular-devkit/architect": ">= 0.900
【参考方案1】:
编辑:他们提高了 Angular 语言服务 v11.2.3 版本的性能。在这个版本(或更高版本)中,您可以重新启用Experimental-ivy
功能,它仍然较慢但不像以前那样,现在至少可以使用(他们说还有改进的空间)。
如果它再次变慢,这可能是 Angular 语言服务中新的 Experimental-ivy
功能的已知问题,它们是 working on a fix。
目前,您可以通过打开扩展设置暂时禁用它:
然后取消选中 Experimental-ivy 功能:
【讨论】:
【参考方案2】:我有同样的问题。我不得不在 Angular Compiler Options 中关闭 FullTemplateTypeCheck。
注意:此问题已在 Angular 语言服务 VS 代码扩展的 V11.2.3 版本中解决。
如果你想禁用 fullTemplateTypeCheck:
在您的 tsconfig.json 文件中,将“fullTemplateTypeCheck”设置为 false 并重新启动 VS Code。
fullTemplateTypeCheck 位于 tsconfig.json 文件的 angularCompilerOptions 对象中。
这是我的:
"angularCompilerOptions":
"enableIvy": true,
"fullTemplateTypeCheck": false
更新
如果您将 Angular 语言服务 VS 代码扩展升级到 V11.2.3。看起来这个问题已经解决了。见here。
我将扩展更新到 V11.2.3,并重新启用了 fullTemplateTypeCheck,我可以确认它按预期工作。
【讨论】:
以上是关于Angular:在 VSCode 中运行 ngcc 会导致性能问题的主要内容,如果未能解决你的问题,请参考以下文章
StackBlitz ngcc 在启用 Ivy 的情况下无法在我的 npm 库上运行
`ngcc --properties es2015 浏览器模块主 --first-only --create-ivy-entry-points 上的角度错误