微信小程序---分包加載

分包加載


背景

微信官方出于小程序的啟動速度的考慮猴贰,對代碼包的大小進(jìn)行了限制对雪。但是同樣也限制了小程序功能的擴(kuò)展,為了解決這個(gè)矛盾米绕,微信官方提供了分包加載這個(gè)功能


分包加載的介紹

大部分小程序都會由某幾個(gè)功能組成瑟捣,通常這幾個(gè)功能之間是獨(dú)立的,但會依賴一些公共的邏輯义郑,并且這些功能通常會對應(yīng)某幾個(gè)獨(dú)立的頁面蝶柿。那么小程序代碼的打包,大可不必一定要打成一個(gè)非驮,可以按照功能的劃分交汤,拆分成幾個(gè)分包,當(dāng)需要用到某個(gè)功能時(shí)劫笙,才加載這個(gè)功能對應(yīng)的分包芙扎。

對于用戶來說,小程序加載流程變成了:

首次啟動時(shí)填大,先下載小程序主包戒洼,顯示主包內(nèi)的頁面;

如果用戶進(jìn)入了某個(gè)分包的頁面允华,再下載這個(gè)對應(yīng)分包圈浇,下載完畢后,顯示分包的頁面靴寂。

采用分包加載磷蜀,對開發(fā)者而言,能使小程序有更大的代碼體積百炬,承載更多的功能與服務(wù)褐隆;而對用戶而言,可以更快地打開小程序剖踊,同時(shí)在不影響啟動速度前提下使用更多功能庶弃。


分包的劃分

在配置前首先需要開發(fā)者規(guī)劃下各個(gè)分包需要容納的內(nèi)容衫贬,我們建議開發(fā)者按照功能劃分的的原則,將同一個(gè)功能下的頁面和邏輯放置于同一個(gè)目錄下歇攻,對于一些跨功能之間公共邏輯固惯,將其放置于主包下,這樣可以確保在分包引用這部分功能時(shí)掉伏,這部分的邏輯一定存在缝呕。

在分包劃分時(shí),應(yīng)該注意以下事項(xiàng):

避免分包與分包之間引用上的耦合斧散。因?yàn)榉职募虞d是由用戶操作觸發(fā)的供常,并不能確保某分包加載時(shí),另外一個(gè)分包就一定存在鸡捐,這個(gè)時(shí)候可能會導(dǎo)致 JS 邏輯異常的情況栈暇,例如報(bào)「"xxx.js" is not defined」這樣的錯(cuò)誤;

一些公共用到的自定義組件箍镜,需要放在主包內(nèi)源祈。


在同一文件夾下
 {

   "pages":[

    "pages/index",

    "pages/logs"

  ],

  "subPackages": [

    {

      "root": "packageA",

      "pages": [

        "pages/cat",

        "pages/dog"

      ]

    }, {

      "root": "packageB",

      "pages": [

        "pages/apple",

        "pages/banana"

      ]

    }

  ]

}

在不同文件夾下
{

  "pages":[

    "pages/index",

    "pages/logs"

  ],

  "subPackages": [

    {

      "root": "packageA",

      "pages": [

        "pages/packageA/cat",

        "pages/packageA/dog"

      ]

    }, {

      "root": "packageB",

      "pages": [

        "pages/packageB/apple",

        "pages/packageB/banana"

      ]

    }

  ]

}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市色迂,隨后出現(xiàn)的幾起案子香缺,更是在濱河造成了極大的恐慌,老刑警劉巖歇僧,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件图张,死亡現(xiàn)場離奇詭異,居然都是意外死亡诈悍,警方通過查閱死者的電腦和手機(jī)祸轮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來侥钳,“玉大人适袜,你說我怎么就攤上這事∠隙幔” “怎么了苦酱?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長给猾。 經(jīng)常有香客問我躏啰,道長,這世上最難降的妖魔是什么耙册? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮毫捣,結(jié)果婚禮上详拙,老公的妹妹穿的比我還像新娘帝际。我一直安慰自己,他們只是感情好饶辙,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布蹲诀。 她就那樣靜靜地躺著,像睡著了一般弃揽。 火紅的嫁衣襯著肌膚如雪脯爪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天矿微,我揣著相機(jī)與錄音痕慢,去河邊找鬼。 笑死涌矢,一個(gè)胖子當(dāng)著我的面吹牛掖举,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播娜庇,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼塔次,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了名秀?” 一聲冷哼從身側(cè)響起励负,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎匕得,沒想到半個(gè)月后继榆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡耗跛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年裕照,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片调塌。...
    茶點(diǎn)故事閱讀 39,727評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡晋南,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出羔砾,到底是詐尸還是另有隱情负间,我是刑警寧澤,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布姜凄,位于F島的核電站政溃,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏态秧。R本人自食惡果不足惜董虱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧愤诱,春花似錦云头、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至科吭,卻和暖如春昏滴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背对人。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工谣殊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人规伐。 一個(gè)月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓蟹倾,卻偏偏與公主長得像,于是被迫代替她去往敵國和親猖闪。 傳聞我的和親對象是個(gè)殘疾皇子鲜棠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評論 2 354