小程序开放平台

文档中心
起步
目录
配置小程序
小程序框架
小程序运行时
自定义组件
基础能力
存储
网络
分包
简介
普通分包
独立分包
分包预下载
服务端能力
数据预拉取
按需注入和用时注入
开放能力
性能优化
转发
事件回调
基础库
调试
数据分析
服务端调试

分包预下载

开发
>
指南
>
基础能力
>
分包
>
分包预下载
>
更新时间:2024-11-13 19:05:23

基础库 v3.4.0 及以上版本开始支持,开发者工具请使用大于等于 v1.59.20 的版本

开发者可以通过配置,在进入小程序某个页面时,由框架自动预下载可能需要的分包,提升进入后续分包页面时的启动速度。对于独立分包,也可以预下载主包。

分包预下载目前只支持通过配置方式使用,暂不支持通过调用API完成。

vConsole 里有 preloadSubpackages 开头的日志信息,可以用来验证预下载的情况。

配置方法

预下载分包行为在进入某个页面时触发,通过在 app.json 增加 preloadRule 配置来控制。

{
  "pages":[
    "pages/index",
    "pages/logs"
  ],
  "subpackages": [
    {
      "root": "packageA",
      "pages": [
        "pages/pageOne",
        "pages/pageTwo"
      ]
    }, {
      "root": "packageB",
      "name": "pack2",
      "pages": [
        "pages/pageThree",
        "pages/pageFour"
      ]
    }
  ],
  "preloadRule": {
    "pages/index": {
      "network": "all",
      "packages": ["packageA"]
    },
    "pages/logs": {
      "network": "wifi",
      "packages": ["pack2"]
    },
    "packageB/pages/pageThree": {
      "network": "wifi",
      "packages": ["__APP__"]
    }
  }
}

preloadRule 中,key 是页面路径,value 是进入此页面的预下载配置,每个配置有以下几项:

字段
类型
必填
默认值
说明
packagesArray进入页面后预下载分包的
root
name
root
name
必须严格等于
subpackages
中配置的
root
name
,否则不会生效,
name
的优先级比
root
高。
__APP__
表示主包。
networkStringwifi在指定网络下预下载,可选值为:
all
: 不限网络;
wifi
: 仅wifi下预下载

限制

同一个分包中的页面享有共同的预下载大小限额 2M,限额会在工具中打包时校验。

如,页面 A 和 B 都在同一个分包中,A 中预下载总大小 0.5M 的分包,B中最多只能预下载总大小 1.5M 的分包。

该文档是否对您有帮助?