阅读(2711)
赞(8)
百度智能小程序 分包预下载
2020-08-10 17:02:23 更新
分包预下载规则
功能介绍:开发者可以通过配置,在进入小程序某个页面时,由框架自动预下载可能需要的分包,提升进入后续分包页面时的启动速度。
分包预下载目前既支持通过全局配置方式使用,也支持开发者通过调用 API 完成。API 调用方式参考:loadSubPackage
全局配置方法:
{
"pages": ["pages/index"],
"subPackages": [
{
"root": "important",
"pages": ["index"],
},
{
"root": "sub1",
"pages": ["index"],
},
{
"name": "hello",
"root": "path/to",
"pages": ["index"]
},
{
"root": "sub3",
"pages": ["index"]
}
],
"preloadRule": {
"pages/index": {
"network": "all",
"packages": ["important"]
},
"sub1/index": {
"packages": ["hello", "sub3"]
},
"sub3/index": {
"packages": ["path/to"]
}
}
}
preloadRule 中,key 是页面路径,value 是进入此页面的预下载配置,每个配置有以下几项:
字段 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
packages | Array.<string> | 是 | 无 | 进入页面后预下载分包的 root |
network | String | 否 | wifi | 在指定网络下预下载,有效值为:
all: 不限网络 wifi: 仅 wifi 下预下载 |
常见问题
Q:这个分包预加载只能加载一个分包吗?
A:端能力的 root 参数为 string 类型,只能配置一个。但是可以通过 app.json 中的 preloadRule 配置多个子包。
代码示例:
{
"pages": ["pages/index"],
"subPackages": [
{
"root": "sub1",
"pages": ["index"],
},
{
"name": "hello",
"root": "path/to",
"pages": ["index"]
}]
],
"preloadRule": {
"pages/index": {
"network": "all",
"packages": ["hello", "sub1"]
}
}
}