什么是分包?
在構(gòu)建小程序的分包項(xiàng)目時(shí)候剃斧,構(gòu)建會(huì)輸出一個(gè)或者多個(gè)功能的分包瞬逊。其中每個(gè)分包小程序必定會(huì)包含一個(gè)主包显歧,所謂主包,就是放置默認(rèn)的啟動(dòng)頁(yè)面/tabbar頁(yè)面确镊,以及一些所有分包都需要用到的公共資源/JS腳本士骤,而分包則是根據(jù)開(kāi)發(fā)者的配置進(jìn)行劃分。
什么是分包加載
以上進(jìn)行分包之后蕾域,用戶在使用的時(shí)候按需進(jìn)行加載敦间,成為分包加載。
為什么要分包加載
對(duì)小程序進(jìn)行分包束铭,可以優(yōu)化小程序的首次啟動(dòng)的下載時(shí)間廓块,以及在多團(tuán)隊(duì)共同開(kāi)發(fā)的時(shí)候可以更好的解耦操作。
怎么使用契沫?
假設(shè)文件目錄結(jié)構(gòu)如下:
├── app.js
├── app.json
├── app.wxss
├── packageA
│ └── pages
│ ├── cat
│ └── dog
├── packageB
│ └── pages
│ ├── apple
│ └── banana
├── pages
│ ├── index
│ └── logs
└── utils
我們可以通過(guò)app.json中的subPackages字段中聲明項(xiàng)目分包結(jié)構(gòu):
{
"pages":[
"pages/index",
"pages/logs"
],
"subPackages": [
{
"root": "packageA",
"pages": [
"pages/cat",
"pages/dog"
]
}, {
"root": "packageB",
"pages": [
"pages/apple",
"pages/banana"
]
}
]
}
打包原則
- 聲明了subPackages后带猴,將按subPackages配置的路勁進(jìn)行打包,subPackages配置的 路徑之外的目錄將被打包到app(主包)中
- app(主包)也可以有自己的pages(最外層的 pages)
- subPackage 的根目錄不能是另外一個(gè) subPackage 內(nèi)的子目錄
- 首頁(yè)的 TAB 頁(yè)面必須在 app(主包)內(nèi)
引用原則
也就是當(dāng)前packageA都不能使用packageB的JS文件懈万、template以及資源