Subpackage Preloading
Supported from Core Library version 7.2.0 and above. Please use Developer Tools version 0.17.0 or above. Click here to download.
Developers can configure the framework to automatically preload subpackages when entering a specific page of the miniApp, thereby improving the startup speed of subsequent subpackage pages.
Configuration Method
The behavior of preloading subpackages is triggered when entering a specific page, controlled by adding the preloadRule configuration in app.json. It can also be triggered via the 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"]
}
}
}
In the preloadRule, the key is the page path, and the value is the preload configuration for entering that page. Each configuration contains the following items:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| packages | String[] | Yes | None | The root or name of the subpackages to preload when entering the page. |
| network | String | No | wifi | The network condition for preloading. Valid values are described below. |
Valid values for network
| Field | Description |
|---|---|
| all | No network restriction |
| wifi | Preload only on WiFi |