编译 angular 12 应用程序时出现内存泄漏

问题描述

我和我的同事正在尝试优化我们的企业 Angular 12 应用程序。

问题:

马上,我们注意到开发应用程序的最大问题是每次 angular CLI 重新编译项目时(按 CTRL+S 后),内存使用量都在稳步增加。它运行了一段时间,但经过几次重新编译后,内存超过 4000MB,Angular CLI 崩溃。

我们的尝试:

将内存容量调高至 24 GB 后,我们注意到该项目的编译速度要快得多(至少快两倍)。但是,内存使用量仍会继续增加,直到达到上限并崩溃(当然,无论如何 24 gig 的 RAM 都不是解决方案),因此肯定存在内存泄漏。

问题:

我们应该如何找出导致此问题的确切原因?我们尝试了很多方法,比如删除我们所有的模块并让它重新编译(当然会出现错误,因为我们删除了我们的模块)但 RAM 使用量仍然不断增加。我认为问题可能来自一些“随机”NPM 模块,但我不太确定。如果这有帮助:我们正在使用 asp.net 零样板。

解决方法

不幸的是,这是 Angular 12 本身的错误,Github 上有一个问题:https://github.com/angular/angular-cli/issues/20801