小程式分包載入

2022-05-05 20:57:05 字數 2871 閱讀 8213

開發者需要將小程式劃分成不同的子包,在構建時打包成不同的分包,使用者在使用

時按需進行載入。

在構建小程式分包專案時,構建會輸出乙個或多個分包。每個使用分包小程式必須包含

乙個主包,所謂的主包,即放置預設啟動頁/tabbar 頁面,以及一些所有分包需要用到

整個小程式所有分包大小不超過 8m單個分包/主包大小不能超

2m可以更高的解耦協作。

配置方法:

假設支援分包的小程式目錄結構

├── packagea

│   └── pages

│   ├── cat

│   └── dog

├── packageb

│   └── pages

│   └── banana

├── pages

│   ├── index

│   └── logs

└── utils

, 

]}

subpackages 中,每個分包的配置有以下幾項:

字段型別

說明root

string

分包根目錄

name

string

pages

stringarray

分包頁面路徑,相對與分包根目錄

independent

boolean

分包是否是獨立分包

打包原則

宣告 subpackages 後,將按

subpackages 配置路徑進行打包,subpackages 配置路徑外的目

pages

(即最外層的

pages

字段)subpackage 的根目錄不能是另外乙個

subpackage 內的子目錄

tabbar 頁面必須在

(主包)內

引用原則

packagea 無法

require packageb js 檔案,但可以

js 檔案

packagea 無法

import packageb 的

template

,但可以

template

packagea 無法使用

packageb 的資源,但可以使用

獨立分包

獨立分包是小程式的一種特殊型別的分包,可以獨立於主包和其他分包獨立執行。從獨立

可發者可以按需將某些具有一定功能獨立性的頁面配置到獨立分包中。當小程式從普通的

提公升分包頁面的啟動速度,

乙個小程式中可以有多個獨立分包。

配置方法:

假設小程式的目錄如下;

├── modulea

│ └── pages

│ ├── rabbit

│ └── squirrel

├── moduleb

│ └── pages

│ ├── pear

├── pages

│ ├── index

│ └── logs

└── utils

subpackages

欄位中的分包配置中自定義

independent

字段宣告對應分包為獨立分包

, 

]}

限制:

獨立分包屬於分包的一種,普通分包的所有限制獨立分包有效。獨立分包中外掛程式

自定義元件的處理方式同普通分包。

使用獨立分包需要注意:

獨立分包中不能依賴主包和其他分包中的內容,包括js 檔案,

template,

wxss,自定義元件,外掛程式等,主包的

對獨立分包無效。應避免在

會造成無法預期的行為。

獨立分包中暫時不支援使用外掛程式。

注意事項:

(1) 關於

undefined

。當使用者進入普通分包或者主包時,主包才會

當使用者從普通分包或者主包的頁面挑到獨立分包的時候,主包已經存在,此時

。為了滿足獨立分包中的這一需求,基礎庫2.2.4  版本開始

支援,allowdefault 引數,在

未定義的時候返回乙個預設實現。當主包

示例:

data:123

other:'hello'

(2) 關於

的生命週期

當從獨立分包中啟動小程式時,主包的中的onlanch 和首次

onshow  

會從獨立分包頁面首次進入主包或普通分包頁面時呼叫。

配置方法:

preloadrule

,,,

,],

"preloadrule": ,

"sub1/index": ,

"sub3/index": ,

"indep/index":

}}

preloadrule  中,

key  

是頁面路徑,

value  

有以下幾項。

字段型別

必填預設值

說明packages

stringarray是無

network

string

否wifi

all: 不限網路

wifi: 僅

wifi

限制如:頁面a 和頁面

b 都在同乙個分包中,

a 0.5 m

的分包,

1.5

的分包。

詳細請參考 

微信 iPad支援使用小程式 分包載入等能力公升級

程式設計客棧techweb 9 月 12 日訊息,微信官方日前對外發布訊息稱,ipad 支援開啟小程式,開發者可對小程式進行大螢幕適配 小程式分包載入功能公升級,允許分包獨立執行 地圖元件新增個性化底圖樣式 模板訊息下發流程簡化。據了解,微信 ios 6.7.2 起已支援 ipad 使用小程式和小遊...

小程式 npm安裝,分包,等

設定npm模組 構建npm 使用元件 使用分包 區域性更新 通過 npm 安裝 通過 yarn 安裝 安裝 0.x 版本 json不能注釋 usingcomponents 根目錄 你建立的分包資料夾 pages資料夾 你的需要在分包中建立的頁面 pages index資料夾 utils utis.j...

微信小程式 關於分包

小程式 有個2m限制,是不是有的時候放都得忍著點,不敢把太大的放在小程式裡面,只能放遠端 但是隨著專案不斷迭代更新,越來越多,開發的時候更加小心翼翼。是不是很不舒服,還能不能讓我舒服的敲 了。那就說一下分包的限制吧 分包以後單獨包最大不能超過2m 整個小程式可以達到8m 比那2m限制翻了4倍 那就讓...