0

    小程序包大小超过2M的解决方法

    2023.05.15 | admin | 210次围观

    微信限制了小程序的代码包不能超过2MB,这主要是出于对小程序启动速度的考虑。但是,2MB 的大小也限制了小程序功能的扩展,如果大小超出了2MB该如何解决呢?

    1. 优化代码,删除掉不用的代码

    2. 图片压缩或者上传服务器

    一般图片所占用的空间比较大,尽量不要放在小程序本地文件夹中,如果图片不多的话可以对图片进行压缩,图片压缩平台:

    另外,通过cli命令创建的uni app项目微信小程序一直加载中?,可将图片或字体图标放入assets文件夹下,通过require引入, 也可减少主包大。

    3. 分包加载:

    什么是分包加载:

    小程序一般都是由某几个功能组成,通常这几个功能之间是独立的,但会依赖一些公共的逻辑,且这些功能一般会对应某几个独立的页面。那么小程序代码的打包,可以按照功能的划分,拆分成几个分包,当需要用到某个功能时,才加载这个功能对应的分包。

    对于用户来说,小程序加载流程变成了:

    1.首次启动时,先下载小程序主包,显示主包内的页面;

    2.当进入某个分包的页面,再下载这个对应分包,下载完毕后,显示分包的页面。

    采用分包加载,对开发者而言,能使小程序有更大的代码体积微信小程序一直加载中?,承载更多的功能与服务;而对用户而言,可以更快地打开小程序,同时在不影响启动速度前提下使用更多功能。

    分包的划分:

    在配置前,按照功能对各个分包的内容进行划分,将同一个功能下的页面和逻辑放在童改一个目录下,把一些跨功能的公共逻辑放在主包下。

    在分包划分时需注意:

    1.包与包之间功能尽可能独立,避免分包与分包之间引用上的耦合。因为分包的加载是由用户操作触发的,并不能确保某分包加载时,另外一个分包就一定存在,这个时候可能会导致 JS 逻辑异常的情况,例如报「"xxx.js" is not defined」这样的错误;

    2.一些公共的自定义组件,要放在主包内。

    分包的配置:

    在uni app中通过cli初始化的小程序目录结构如下:

    小程序包大小超过2M的解决方法

    ├── 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专注于移动互联网软件设计、研发、销售为一体的高新技术企业,我们将竭诚为您服务。

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论