Angular main.js 文件较大

Angular main.js file large size

我的项目用户angular版本7,这里是angular.json配置

当我构建生产环境时,我的 main.js 文件太大了,接近 12MB,这使得我的应用程序加载页面非常缓慢。几乎初始加载需要 4 - 5 分钟

这是构建结果

这是我的分析器结果

提前致谢

将占用过多的文件拆分为模块并应用延迟加载

  • 首先,停止使用webpack bundle analyzer,因为它不会 准确表示您的包 space 并开始使用 source-map-explorer.

  • 根据 Angular docs,如果您在延迟加载模块之外导入任何东西,那么它将包含在您的 main.js 包中。我遇到了这个问题,我在每个模块中导入共享模块,共享模块本身从 node_modules 导入了很多包,这导致 main.js 文件增加。

如果您尝试了 lazyload 模块,但它仍然无法正常工作。 将 tsconfig.json 模块从 commonjs 更改为 es2020 并将 sideEffects: false 添加到您的 package.json 然后,瞧:

完整解释我在这里讲话

顺便说一句,您可以在服务器上使用 g-zip 以使其更快。