W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
版本要求:基礎(chǔ)庫 1.14.0 或更高版本;支付寶客戶端 10.1.60 或更高版本,若版本較低,建議做 兼容處理;小程序開發(fā)者工具 0.40 或更高版本。
為了滿足日益復(fù)雜的小程序業(yè)務(wù)需求,同時(shí)提升首次打開速度,支付寶小程序從客戶端 10.1.60 版本開始支持分包加載功能。
開發(fā)者可以按需將小程序劃分為若干個(gè)不同的子包。小程序使用分包功能時(shí),會(huì)默認(rèn)有一個(gè)主包,啟動(dòng)頁面和 tabBar 所有頁面都放在主包中,同時(shí)包含了小程序所需的公共資源(例如 js 腳本等)。在服務(wù)端構(gòu)建時(shí),會(huì)根據(jù)開發(fā)者的配置,打成不同的分包,用戶在使用小程序進(jìn)入對(duì)應(yīng)分包的頁面時(shí),客戶端會(huì)下載該分包,并進(jìn)行解析和渲染。
典型的分包小程序目錄如下:
├── app.acss
├── app.js
├── app.json
├── packageA
│ └── pages
│ ├── page1
│ └── page2
├── packageB
│ └── pages
│ ├── page3
│ └── page4
└── pages
├── common
└── index
開發(fā)者在 app.json 文件的 subPackages
字段中聲明小程序的分包結(jié)構(gòu):
{
"pages": [
"pages/index",
"pages/common"
],
"subPackages": [
{
"root": "packageA",
"pages": [
"pages/page1",
"pages/page2"
]
},
{
"root": "packageB",
"pages": [
"pages/page3",
"pages/page4"
]
}
]
}
subPackages
字段的配置說明如下:
字段 | 類型 | 說明 |
---|---|---|
root | String | 分包根目錄 |
pages | StringArray | 分包頁面路徑 |
subPackages
后,服務(wù)端將按 subPackages
配置的路徑進(jìn)行打包,subPackages
配置路徑外的目錄將被默認(rèn)打包到主包中。支付寶服務(wù)端構(gòu)建平臺(tái)負(fù)責(zé)處理低版本客戶端的兼容,服務(wù)端會(huì)編譯并打包成兩份源碼包,一份是分包后的代碼包,另一份是整包的兼容代碼包。支持分包的新客戶端使用分包,不支持分包的低版本客戶端使用整包。
開發(fā)者可以通過在 app.json 里的 preloadRule
字段進(jìn)行配置,在進(jìn)入小程序某個(gè)頁面時(shí),由框架自動(dòng)下載可能需要的分包,以提升分包頁面的啟動(dòng)速度。
一個(gè)典型的分包預(yù)加載配置如下:
{
"pages": ["pages/index"],
"subPackages": [
{
"root": "sub1",
"pages": ["page1"]
},
{
"root": "sub2",
"pages": ["page2"]
},
{
"root": "sub3",
"pages": ["page3"]
},
{
"root": "path/sub4",
"pages": ["page4"]
}
],
"preloadRule": {
"pages/index": {
"network": "all",
"packages": ["sub1"]
},
"sub1/page1": {
"packages": ["sub2", "sub3"]
},
"sub3/page3": {
"network": "wifi",
"packages": ["path/sub4"]
}
}
}
preloadRule
字段中,key
是頁面路徑,value
是進(jìn)入此頁面后預(yù)下載的配置,每個(gè)配置的選項(xiàng)說明如下:
字段 | 類型 | 是否必須 | 默認(rèn)值 | 說明 |
---|---|---|---|---|
packages | StringArray | 是 | 無 | 進(jìn)入頁面后預(yù)下載的分包的 root |
network | String | 否 | all | 在指定網(wǎng)絡(luò)下進(jìn)行預(yù)下載,all:不限網(wǎng)絡(luò);wifi:僅 wifi 下預(yù)下載 |
A:小程序最大限制是 2M,如果超過了可以進(jìn)行代碼優(yōu)化,把一些圖片放到服務(wù)器中來減小包的大小。如果實(shí)在沒法控制,可以使用小程序分包。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: