微信限制了小程序的代码包不能超过2MB,这主要是出于对小程序启动速度的考虑。但是,2MB 的大小也限制了小程序功能的扩展,如果大小超出了2MB该如何解决呢? 1. 优化代码,删除掉不用的代码 2. 图片压缩或者上传服务器 3. 分包加载: 什么是分包加载: 小程序一般都是由某几个功能组成,通常这几个功能之间是独立的,但会依赖一些公共的逻辑,且这些功能一般会对应某几个独立的页面。那么小程序代码的打包,可以按照功能的划分,拆分成几个分包,当需要用到某个功能时,才加载这个功能对应的分包。 对于用户来说,小程序加载流程变成了: 1.首次启动时,先下载小程序主包,显示主包内的页面; 2.当进入某个分包的页面,再下载这个对应分包,下载完毕后,显示分包的页面。 采用分包加载,对开发者而言,能使小程序有更大的代码体积,承载更多的功能与服务;而对用户而言,可以更快地打开小程序,同时在不影响启动速度前提下使用更多功能。 分包的划分: 在配置前,按照功能对各个分包的内容进行划分,将同一个功能下的页面和逻辑放在童改一个目录下,把一些跨功能的公共逻辑放在主包下。 在分包划分时需注意: 1.包与包之间功能尽可能独立,避免分包与分包之间引用上的耦合。因为分包的加载是由用户操作触发的,并不能确保某分包加载时,另外一个分包就一定存在,这个时候可能会导致 JS 逻辑异常的情况,例如报「"xxx.js" is not defined」这样的错误; 2.一些公共的自定义组件,要放在主包内。 分包的配置: 在uni app中通过cli初始化的小程序目录结构如下: ├── src ├── main.js ├── App.vue ├── pages.json ├── manifest.json ├── orderPackages │ └── pages │ ├── goodsDetail │ └── myorder ├── pages │ ├── index │ └── user └── utils 需在pages.json中配置subPackages字段,在subPackage里面声明项目的分包结构: 目前小程序分包大小的限制: 整个小程序所有分包大小不超过 4M 单个分包/主包大小不能超过 2M 以上只罗列了uni app框架分包加载的步骤, 原生小程序分包方法根据官方文档即可快速实现,小程序框架虽多, 大都大同小异,如果后续有使用其他框架进行开发,会进行补充。 如果您想拥有自己的小程序商城系统,可选择CRMEB,CRMEB专注于移动互联网软件设计、研发、销售为一体的高新技术企业,我们将竭诚为您服务。
一般图片所占用的空间比较大,尽量不要放在小程序本地文件夹中,如果图片不多的话可以对图片进行压缩,图片压缩平台:https://tinyjpg.com/
另外, 通过cli命令创建的uni app项目,可将图片或字体图标放入assets文件夹下,通过require引入, 也可减少主包大。