分包预下载
基础库 7.2.0 及以上版本开始支持。开发者工具请使用 0.17.0 及以上版本,可点此下载。
开发者可以通过配置,在进入小程序某个页面时,由框架自动预下载分包,提升进入后续分包页面时的启动速度。
配置方法
预下载分包行为在进入某个页面时触发,通过在 app.json
增加 preloadRule
配置来控制。也可以通过 dlt.loadSubPackage API 触发。
{
"pages": ["pages/index/index", "pages/tabTwo/tabTwo"],
"subPackages": [
{
"root": "packageA",
"pages": ["pages/cat/index", "pages/dog/index"]
},
{
"root": "packageB",
"name": "pack2",
"pages": ["pages/apple/index", "pages/banana/index"]
}
],
"tabBar": {
"list": [
{
"pagePath": "pages/index/index",
"text": "Home",
"iconPath": "images/tabbar/home.png",
"selectedIconPath": "images/tabbar/home-selected.png"
},
{
"pagePath": "pages/tabTwo/tabTwo",
"text": "TabTwo",
"iconPath": "images/tabbar/tabTwo.png",
"selectedIconPath": "images/tabbar/tabTwo-selected.png"
}
]
},
"preloadRule": {
"pages/index/index": {
"network": "all",
"packages": ["packageA", "packageB"]
},
"pages/tabTwo/tabTwo": {
"packages": ["pack2"]
}
}
}
preloadRule
中,key
是页面路径,value
是进入此页面的预下载配置,每个配置有以下几项:
字段 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
packages | String[] | 是 | 无 | 进入页面后要预下载的分包的 root 或 name。 |
network | String | 否 | wifi | 在指定网络预下载,有效值见下文 |
network 有效值说明
字段 | 说明 |
---|---|
all | 不限网络 |
wifi | 仅 wifi 下预下载 |