ng-docs.github.io
ng-docs.github.io copied to clipboard
ng cli 8 打包后,main-es2015 和 main-es5两个js文件过大,怎么处理?
ng cli 8 打包后,main-es2015 和 main-es5两个js文件过大,怎么处理?
我做过懒加载,把每个组件都添加模块,并通过路由懒加载,然后做了摇树优化,添加了编译参数
ng build --prod --aot --build-optimizer
但是打包后的文件仍然有 12.8M,优化之前打包是16M
请问有没有什么别的办法,能大幅度优化这两个文件?
用 webpack-bundle-analyzer 分析一下它的大小构成,然后有针对性的去优化。这种多半是某个超大型第三方库导致的,可以把它改成惰性加载的。
楼上说的没毛病,另外就是可以忍一下,等ng9出来后支持的组件级懒加载,可以解决很多切包难题(ng到9才想起来解决这个问题也是不容易..........)
现在的版本其实也可以支持组件级懒加载的,import('组件文件名'),然后把它绑定给 *ngComponentOutlet 就行了。
用 webpack-bundle-analyzer 分析一下它的大小构成,然后有针对性的去优化。这种多半是某个超大型第三方库导致的,可以把它改成惰性加载的。
第三方库如何惰性加载啊?特别是那种js的库。
减少你app.module.ts中的引用,利用路由懒加载分割惰性模块