我的应用程序中有近17个模块,与角度生成的模块相比,其大小可以忽略不计。
chunk {common} common.chunk.js (common) 2.18 MB
chunk {main} main.bundle.js (main) 4.42 MB [initial] [rendered]
chunk {polyfills} polyfills.bundle.js (polyfills) 616 KB [initial]
我理解Angular会为处理一些内部事物生成这些块,但为什么主要包是4.5 MB 。
我做错了什么?
有没有办法减少这些尺寸?
答案 0 :(得分:4)
没有特定的方法来减小尺寸。一个想法是LazyLoading您的模块以减少初始块。
另一个是使用webpack bundle analyser.
分析块在捆绑分析器中,您可以更深入地了解要优化的内容和方式。为生产构建生成JSON(--aot --prod
)并使用bundle analyzer进行分析。
另外,如果您还没有将所有软件包更新到最新版本,那么树震动可能无法正常工作,因此如果您导入的内容如下:
import {Observable} from `rxjs/Rx`
最终可能会捆绑整个库,您可能需要执行特定的导入,例如
import {Observable} from `rxjs/Observable`
如果你在分析仪中检查你的束,那么树木是否存在摇晃可能是显而易见的。
即使树摇动,某些依赖性如 momenjs 也可能很麻烦,因为它不是模块化的,在这些情况下,更改为模块化替代方案可能会有所帮助。
答案 1 :(得分:0)
我已将我的项目升级到Angular v6 ....我只是不相信我们的萌芽大小从4MB下降到1 MB .... Angular团队的Greak工作:)