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
以使其更快。
我的项目用户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
以使其更快。