如何解决uniapp主包过大,vender过大导致无法上传小程序的问题

2,045 阅读1分钟

前景

采用uni-app开发的微信小程序,发布时工具提示vendor.js过大

第一步

小程序发布选择脚本压缩,wxss压缩,运行模式下的代码没有经过压缩,以发布模式为准

运行后发现还是太大

采用分包策略和静态资源线上化

  • 把static的资源尽量转到线上,可以在全局定义一个配置文件,里面储存包括axios的服务器域名,静态资源的服务器域名,方便配置
  • 根据业务类型进行分包处理(分包后单一包的体积迅速减少[)](使用分包 | 微信开放文档)
"optimization":{
    "subPackages":true
}
  • 开启组件按需引入
    manifest.json配置按需注入
"lazyCodeLoading": "requiredComponents"

image.png

  • 重要的一点,清理无用代码,因为我们的同事有时候经常有没有使用价值的页面也放在项目里,如果对项目比较熟悉的情况下,定期清理,定期维护代码质量,也能减少很多代码体积

这样绝大多数情况下小程序的主包已经小于1.5M,注意小程序提示主包2M,这个体积包含render,这个最少占500K,所以主包最好控制在1M以内,这样就万无一失了