小程序js文件过大导致主包超出2M解决方案

小程序占用主包空间一般分四种情况:
1.通过node_modules构建的miniprogram_npm包,如vant,qs
2.js库(不是由npm构建而成的),会单独放一个文件
如:city.js(省市区文件,424KB),qqmap-wx-jssdk.min.js,cryptojs等
3. 静态资源图片,static下的images
4. 主包下pages里的页面,主包下components里的通用组件
解决方案:
针对1,vant是所有页面都可能会用的,从这里优化内存空间不现实。
针对2,优化这些文件会释放大量主包空间,比如将city.js作为一个单独的分包点,所有涉及引用city.js的页面及组件全部放到一个分包里。如果是项目已经迭代过很多次了,city.js这种大文件被多个分包或多个主包下的页面引用,操作起来会有一点点麻烦,不仅要将引用到city.js的页面放进分包,当前页面涉及的引用组件,静态资源图片等都要保证能被引用到。(亲测可行,单独分包city.js主包空间由2020kb降到1590kb,释放了430kb)。
针对3,将静态资源放到服务器,image的src使用https绝对路径访问。有很多推荐压缩图片的,这种方式我不是很认同。项目里图片如果有100个,就算每个图片2k,也会占200k空间。所以图片传服务器是最省事的。
针对4,新功能新需求一定要分包,保证不在主包中增加任何东西。主包中相似的地方封装组件,实现代码高复用,低耦合。

你可能感兴趣的:(小程序,javascript)