小程序是一種全新的連接用戶與服務(wù)的方式页徐,它可以在微信內(nèi)被便捷地獲取和傳播识樱,同時具有出色的使用體驗。
小程序推崇的是輕便,在2017年的時候,小程序發(fā)布的壓縮包從1M升級到了2M,但是在真實的項目中,還是有可能會超出2M的情況發(fā)生,因此我們需要使用分包.
官方地址:https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages/basic.html
配置方法
假設(shè)支持分包的小程序目錄結(jié)構(gòu)如下:
├── app.js
├── app.json
├── app.wxss
├── packageA
├── packageB
├── pages
│ ├── index
│ └── logs
│ └── cat
│ └── apple
└── utils
開發(fā)者通過在 app.json subpackages 字段聲明項目分包結(jié)構(gòu):
{
"pages":[
"pages/index",
"pages/logs"
],
"subpackages": [
{
"root": "packageA",
"pages": [
"pages/cat"
]
}, {
"root": "packageB",
"name": "pack2",
"pages": [
"pages/apple"
]
}
]
}
*注意 *:保存后你會發(fā)現(xiàn),cat,apple會自動生成對應(yīng)的目錄,因為分包只需要建一個根目錄就行,別的在subpackages種配置
打包原則
- 聲明 subpackages 后化借,將按 subpackages 配置路徑進(jìn)行打包周偎,subpackages 配置路徑外的目錄將被打包到 app(主包) 中
- app(主包)也可以有自己的 pages(即最外層的 pages 字段)
- subpackage 的根目錄不能是另外一個 subpackage 內(nèi)的子目錄
- tabBar 頁面必須在 app(主包)內(nèi)
引用原則
- packageA 無法 require packageB JS 文件,但可以 require app嗽测、自己 package 內(nèi)的 JS 文件
- packageA 無法 import packageB 的 template绪励,但可以 require app、自己 package 內(nèi)的 template
- packageA 無法使用 packageB 的資源唠粥,但可以使用 app疏魏、自己 package 內(nèi)的資源