1:资源动态化
这个方法常常是小程序体积前期膨胀的主要原因和最有效压缩方式。
把一些非核心不紧急的资源文件,特别是图片、音频、视频等体积较大的媒体文件,可以移至cdn服务器,需要时再下载。
2:页面动态化
把非核心不紧急的页面,转成h5,通过webview来进行显示。一个两个页面看不出什么差别, 但是如果有10个8个的就很明显了,起码能节省出几十kb。
3:静态数据线上化
有时开发中我们会把一些不变的数据放到小程序项目内, 比如城市地址信息,服务条款等, 这样的数据尽量能走线上就走线上,当首次加载完后可以缓存到本地。
4:及时清理废弃资源
已下线或者已弃用的文件资源应及时清理,包括npm包、组件、页面、媒体资源等。 若后续需要重新上线/重新使用, 可以通过git等版本控制工具找回。这部分资源不需要持续占用代码包空间
5:去除重复代码
可以使用sonar对项目代码进行分析,找到哪些代码是重复的,可以针对进行优化。
6:提取公共模块
业务实现做到通用,提取公共的业务组件,比如不同的活动可以采用统一模板,同一个组件,而不必每次增加新代码。
样式层面保持统一,使用统一的基础组件, 比如可以统一弹窗规范,而不引入五花八门的零碎弹窗组件。
设计开发层面减少重复,多提取公共模块,减少重复造轮子。
7:慎用三方插件
尽量少用第三方的插件,比如象echart,你可能只要它的1%功能,一个曲线图,却不得不打包它,使整个项目体积骤升。
8:配置分包(普通分包)
分包精细化
这个策略主要是为了控制和减少主包的体积,使主包体积最优,防止一些主包未使用的资源被放入主包,而占用主包体积。