国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【詳講】微信小程序分包流程步驟

這篇具有很好參考價值的文章主要介紹了【詳講】微信小程序分包流程步驟。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

【詳講】微信小程序分包流程步驟

本文基于微信小程序的官方文檔,對分包的概念以及具體的操作流程進(jìn)行講解。

一、為什么要使用分包?

主要原因就是微信小程序規(guī)定了主包大小不能超過 2M ,但我們隨著開發(fā)的更新迭代,一個小程序往往是大于 2M 的。于是小程序提供了分包的解決方法,將一個完整的的小程序,在打包時分成不同功能或需求的分包,在用戶使用時再加載對應(yīng)的分包。

主包:使用分包后必須有一個主包,用于存放 TabBar 頁面,以及一些公共的資源文件和JS腳本。

分包:從主包上拆分而來的文件,個人建議的的拆分方式:先根據(jù) TabBar 頁面拆分大的模塊,再拆分每個 TabBar內(nèi)具體的小功能模塊,這樣拆分管理起來也更加清晰明了。

目前小程序分包大小有以下限制:

  • 整個小程序所有分包大小不超過 20M
  • 單個分包/主包大小不能超過 2M

二、使用分包

1、基本配置

我們先看看官方給出的目錄結(jié)構(gòu)和 app.josn 的配置:

  • 目錄結(jié)構(gòu)

    ├── app.js
    ├── app.json---------分包配置文件
    ├── app.wxss
    ├── packageA---------分包A
    │   └── pages
    │       ├── cat
    │       └── dog
    ├── packageB---------分包B
    │   └── pages
    │       ├── apple
    │       └── banana
    ├── pages------------主包
    │   ├── index
    │   └── logs
    └── utils
    
  • app.json 配置

    {
      "pages":[
        "pages/index",
        "pages/logs"
      ],
      "subpackages": [
        {
          "root": "packageA",
          "pages": [
            "pages/cat",
            "pages/dog"
          ]
        }, {
          "root": "packageB",
          "name": "pack2",
          "pages": [
            "pages/apple",
            "pages/banana"
          ]
        }
      ]
    }
    

    app.json 參數(shù)說明:

    • pages:主包 List ,默認(rèn)以一個路徑為主頁,放置 TabBar 的頁面,放在根目錄下的 pages 文件夾內(nèi)。

    • subpackages:分包 List ,官方的分包是默認(rèn)放在根目錄下的,實際上可以根據(jù)自身需要配置路徑,下文將根據(jù)官方的 demo 展示。

      字段 類型 說明
      root String 分包根目錄,默認(rèn)是從根目錄開始
      name String 分包別名,分包預(yù)下載 時可以使用
      pages StringArray 分包頁面路徑,相對于分包根目錄
      independent Boolean 分包是否是 獨立分包

2、demo 案例分析

下載 小程序示例(分包加載版)源碼

【詳講】微信小程序分包流程步驟

為了看起來更清晰,我刪除了部分重復(fù)文件,但保留了 demo 本身的目錄結(jié)構(gòu)。看 demo 不難看出無論是分包還是主包,都是放在 page 這個文件夾下面的,這說明分包所在位置并沒有嚴(yán)格的要求,可以根據(jù)自身的需求配置路徑放置。

此外我們還需要注意到,主包和分包的默認(rèn)路徑是從根目錄開始的,分包的路徑是以 root 內(nèi)的設(shè)置的路徑為起始。

3、打包原則

  • 聲明 subpackages 后,將按 subpackages 配置路徑進(jìn)行打包,subpackages 配置路徑外的目錄將被打包到主包中。也就是沒指定分包的文件都會被打包到主包。
  • 主包也可以有自己的 pages,即最外層的 pages 字段。
  • subpackage 的根目錄不能是另外一個 subpackage 內(nèi)的子目錄。也就是不能在分包內(nèi)放置另外一個另外一個分包,兩者必須是平級的關(guān)系。
  • tabBar 頁面必須在主包內(nèi)。

4、引用原則

省流:除了分包異步化可以請求不同包的 JS 文件,其他情況下的分包都只能訪問自身的和主包的文件。

  • packageA 無法 require packageB JS 文件,但可以 require 主包、packageA 內(nèi)的 JS 文件;使用 分包異步化 時不受此條限制。
  • packageA 無法 import packageB 的 template,但可以 require 主包、packageA 內(nèi)的 template。
  • packageA 無法使用 packageB 的資源,但可以使用主包、packageA 內(nèi)的資源。

5、低版本兼容

由微信后臺編譯來處理舊版本客戶端的兼容,后臺會編譯兩份代碼包,一份是分包后代碼,另外一份是整包的兼容代碼。 新客戶端用分包,老客戶端還是用的整包,完整包會把各個 subpackage 里面的路徑放到 pages 中。

三、獨立分包

版本支持:微信客戶端 6.7.2,基礎(chǔ)庫 2.3.0 及以上版本開始支持。開發(fā)者工具請使用 1.02.1808300 及以上版本,可 點此下載。

獨立分包顧名思義就是可以獨立于主包和其他分包運行的一種特殊分包。從獨立分包頁面進(jìn)入小程序時無需下載主包,當(dāng)用戶進(jìn)入普通分包或主包頁面的時候才會下載主包資源。

我們在開發(fā)時,可以選擇一些從公眾號進(jìn)入的頁面,或是調(diào)用webview的頁面配置到我們的獨立分包。因為不用下載主包,可以很大程度上提高獨立分包頁面的啟動速度。

一個小程序中可以有多個獨立分包。

1、開啟獨立分包

開發(fā)者通過在app.jsonsubpackages字段中對應(yīng)的分包配置項中定義independent字段聲明對應(yīng)分包為獨立分包。

{
  "root": "moduleB",
  "pages": [
    "pages/pear",
    "pages/pineapple"
  ],
  "independent": true
}

2、限制

獨立分包屬于分包的一種。普通分包的所有限制都對獨立分包有效。獨立分包中插件、自定義組件的處理方式同普通分包。

此外,使用獨立分包時要注意:

  • 除了使用 分包異步化 的 js 文件、自定義組件、插件外,獨立分包不依賴主包和其他分包內(nèi)的內(nèi)容。
  • 主包中的 app.wxss 對獨立分包無效,應(yīng)避免在獨立分包頁面中使用 app.wxss 中的樣式,全局樣式不生效。
  • App 只能在主包內(nèi)定義,獨立分包中不能定義 App,會造成無法預(yù)期的行為。
  • 獨立分包中暫時不支持使用插件。

3、注意事項

(1)關(guān)于 getApp()

獨立分包運行時,App 并不一定被注冊,因此 getApp() 也不一定可以獲得 App 對象:

  • 當(dāng)用戶從獨立分包頁面啟動小程序時,主包不存在,因此App也不存在,此時調(diào)用 getApp() 獲取到的是 undefined。 當(dāng)用戶進(jìn)入普通分包或主包內(nèi)頁面時,主包才會被下載,App 才會被注冊。
  • 當(dāng)用戶是從普通分包或主包內(nèi)頁面跳轉(zhuǎn)到獨立分包頁面時,主包已經(jīng)存在,此時調(diào)用 getApp() 可以獲取到真正的 App

由于這一限制,開發(fā)者無法通過 App 對象實現(xiàn)獨立分包和小程序其他部分的全局變量共享。

為了在獨立分包中滿足這一需求,基礎(chǔ)庫 2.2.4 版本開始 getApp 支持 [allowDefault] 參數(shù),在 App 未定義時返回一個默認(rèn)實現(xiàn)。當(dāng)主包加載,App 被注冊時,默認(rèn)實現(xiàn)中定義的屬性會被覆蓋合并到真正的 App 中。

示例代碼:
  • 獨立分包中
const app = getApp({allowDefault: true}) // {}
app.data = 456
app.global = {}
  • app.js 中
App({
  data: 123,
  other: 'hello'
})
console.log(getApp()) // {global: {}, data: 456, other: 'hello'}

作為獨立分包不依賴主包的情況下,默認(rèn)獨立分包為傳參方,使用 getApp({allowDefault: true}) 方法后若打開主包,則會更新至 App 中。主包打開后便可以使用 getApp() 獲取數(shù)據(jù)。

(2)關(guān)于 App 生命周期

從獨立分包啟動小程序時不會觸發(fā)主包中的 App 的onLaunch 和首次 onShow ,直到用戶第一次從獨立分包的頁面進(jìn)入主包或其他分包頁面的時候才會調(diào)用。

由于獨立分包中無法定義 App,所以無法使用正常頁面中的 onLoad 或是 onShow 等生命周期。獨立分包想要實現(xiàn)小程序生命周期的監(jiān)聽可以使用 wx.onAppShow,wx.onAppHide 完成。App 上的其他事件可以使用 wx.onError,wx.onPageNotFound 監(jiān)聽。

4、低版本兼容

在低于 6.7.2 版本的微信中運行時,獨立分包視為普通分包處理,不具備獨立運行的特性。

??注意:在兼容模式下,主包中的 app.wxss 可能會對獨立分包中的頁面產(chǎn)生影響,因此應(yīng)避免在獨立分包頁面中使用 app.wxss 中的樣式。

ase/app/app-event/wx.onPageNotFound.html) 監(jiān)聽。

4、低版本兼容

在低于 6.7.2 版本的微信中運行時,獨立分包視為普通分包處理,不具備獨立運行的特性。

??注意:在兼容模式下,主包中的 app.wxss 可能會對獨立分包中的頁面產(chǎn)生影響,因此應(yīng)避免在獨立分包頁面中使用 app.wxss 中的樣式。

簡單來說就是別樣式重名??。文章來源地址http://www.zghlxwxcb.cn/news/detail-447509.html

到了這里,關(guān)于【詳講】微信小程序分包流程步驟的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 微信小程序獨立分包與分包預(yù)下載

    微信小程序獨立分包與分包預(yù)下載

    官網(wǎng)鏈接 獨立分包配置方法 獨立分包使用限制 獨立分包中不能依賴主包和其他分包中的內(nèi)容,包括 js 文件、模板、wxss、自定義組件等; App 只能在主包內(nèi)定義,獨立分包中不能定義 App,會造成無法預(yù)期的行為 獨立分包中暫時不支持使用插件 分包預(yù)加載 開發(fā)者可以通過在

    2024年02月20日
    瀏覽(19)
  • 微信小程序---分包操作

    微信小程序---分包操作

    有時候我們的小程序太大,首次打開小程序的時候回比較慢,這個時候我們可以試試分包操作。分包可以讓用戶在操作小程序的時候按需下載資源(用戶在進(jìn)入某些頁面的時候才去下載相應(yīng)的資源,可以加快小程序的速度,優(yōu)化用戶體驗)。 小程序代碼有個2M限制,是不是有

    2023年04月17日
    瀏覽(24)
  • 分包(微信小程序)

    分包(微信小程序)

    首先,微信小程序中使用分包是為了減少首屏的請求,因為微信小程序會默認(rèn)下載主包內(nèi)的內(nèi)容并展示到頁面上,但是隨著業(yè)務(wù)量的增加,代碼量也會越來越大。會導(dǎo)致我們啟動小程序的時候首頁加載速度過慢的這個問題。這時我們就可以采用分包技術(shù)來解決首次加載速度慢

    2024年02月04日
    瀏覽(23)
  • 微信小程序如何分包

    微信小程序如何分包

    微信小程序開發(fā)過程中,隨著業(yè)務(wù)不斷迭代,程序包的體積越來越大,使用分包加載是開發(fā)者必須面對的問題。 正常情況下,小程序首次啟動時,會將整個代碼包下載下來,所以如果代碼包過大,會影響小程序首次啟動時間,因此微信官方對小程序代碼包做了大小限制。 一

    2023年04月24日
    瀏覽(26)
  • uniapp微信小程序分包

    目錄 一. 分包的概念 1. 什么是分包 2.?分包的好處 3.?分包后項目的構(gòu)成 4.?分包加載規(guī)則 5.?分包體積限制 二.?分包的方法 1.?分包后的目錄結(jié)構(gòu) 2.?配置manifest.json 3.?配置pages.json 4.?全局修改分包文件路徑 1. 什么是分包 2.?分包的好處 3.?分包后項目的構(gòu)成 4.?分包加載規(guī)則

    2024年02月11日
    瀏覽(27)
  • 微信小程序如何分包管理

    微信小程序的分包管理可以幫助你更有效地組織和管理小程序的代碼和資源,以提高性能和加載速度。以下是一些關(guān)于如何進(jìn)行微信小程序分包管理的步驟: 微信小程序的分包管理可以幫助你更有效地組織和管理小程序的代碼和資源,以提高性能和加載速度。以下是一些關(guān)于

    2024年02月09日
    瀏覽(23)
  • 微信小程序---如何創(chuàng)建分包

    微信小程序---如何創(chuàng)建分包

    1.在項目根目錄中,創(chuàng)建分包的根目錄,名為subpkg,這個名字可以自己定義 2.在 pages.json 中,和 pages 節(jié)點平級的位置聲明 subPackages 節(jié)點,用來定義分包相關(guān)的結(jié)構(gòu): 3.在分包目錄,點擊右鍵新建頁面,例如:

    2024年01月20日
    瀏覽(14)
  • uniapp 微信小程序 分包

    uniapp 微信小程序 分包

    1、manifest.json內(nèi)添加如圖所示: 2、在與pages同級上創(chuàng)建各個分包的文件夾 把需要分包的文件對應(yīng)移入分包文件夾內(nèi) 3、page.json內(nèi)修改分包文件的路徑 比如: 3、頁面內(nèi)跳轉(zhuǎn)路徑修改 比如:

    2024年02月13日
    瀏覽(23)
  • uniapp 微信小程序分包

    uniapp 微信小程序分包

    uniapp項目編譯到微信小程序上傳代碼時提示體積過大,這個時候就要做優(yōu)化了,大致就以下幾個方面 1.減少或壓縮本地圖片 2.刪減重復(fù)代碼,刪減無用CSS樣式 3.減少無用組件引用 這個時候做完發(fā)現(xiàn)也優(yōu)化不了多少體積,代碼包還是過大,所以就要用到分包了 分包步驟 1.在p

    2024年02月14日
    瀏覽(26)
  • 微信小程序分包,分包與主包頁面跳轉(zhuǎn)

    微信小程序分包,分包與主包頁面跳轉(zhuǎn)

    什么是分包 分包指的是把一個完整的小程序項目,按照需求劃分為不同的子包, 在構(gòu)建時打包成不同的分包,用戶在使用時按需進(jìn)行加載。 分包的好處 對小程序進(jìn)行分包的好處主要有以下兩點: ● 可以優(yōu)化小程序首次啟動的下載時間 ● 在多團(tuán)隊共同開發(fā)時可以更好的解耦

    2023年04月08日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包