微信小程序、常規分包、獨立分包、分包預下載


小程序的容量大小是2MB一但超過就會提示不能上傳或真機,這時候通過分包可以解決,分包一般放的是tabBar主頁下面的跳轉頁面

分包構視圖

├── app.js
├── app.json
├── app.wxss
├── packageA
│   └── pages
│       ├── cat
│       └── dog
├── packageB
│   └── pages
│       ├── apple
│       └── banana
├── pages
│   ├── index
│   └── logs
└── utils

常規分包

pages是主包優先加載,packageA,packageB是分包需要使用時才會加載

如圖所示在pages同層級新建文件夾

 

 在分包下分別再新建一個文件夾,叫pages,里面放要分開的頁面文件夾

在app.json里進行配置

{
  "pages":[ //主包
    "pages/index",
    "pages/logs"
  ],
  "subpackages": [  //分包
    {
      "root": "songPackage", //分包根的目錄
      "pages": [
        "pages/recommendSong/index", 
        "pages/songDetail/index" //分包頁面路徑,相對與分包根目錄
      ]
    }, {
      "root": "otherPackage", //分包根的目錄
      "pages": [
        "pages/other/index" //分包頁面路徑,相對與分包根目錄
      ]
    }
  ]
}        

注,分包后引入其它東西的路徑

打開詳情,后可以查看分包情況

 

 總結 :  a) 加載小程序的時候先加載主包,當需要訪問分包的頁面時候才加載分包內容

     b) 分包的頁面可以訪問主包的文件,數據,圖片等資源

     c) 主包: i. 主包來源: 除了分包以外的內容都會被打包到主包中

           ii. 通常放置啟動頁/tabBar 頁面

 

 

獨立分包

  

 

 

 如圖所示只需要在json頁面下添加一個屬性即可,獨立分包一般用於,使用臨時增加的廣告頁面,活動頁面,注:獨立分包不可不能依賴主包或者其他包的內容

 

總結:a) 獨立分包可單獨訪問分包的內容,不需要下載主包

   b) 獨立分包不能依賴主包或者其他包的內容

 

分包預下載

  分包預下載屬性必須要和常規分包的屬性同一層級如圖

  

 

  在preloadRule里使用要預加載的頁面

     

可以在里面添加一些,其它屬性

          network:all (不限網絡)  /   wifi (僅wifi下預下載)

"preloadRule": {
  "pages/index/index": {
      "network": "all", "packages": ["songPackage"]  },
}

 

packages里也可加載主包,用於獨立分包

"indep/index": { "packages": ["__APP__"] }

總結:
   a) 在加載當前包的時候可以設置預下載其他的包
   b) 縮短用戶等待時間,提高用戶體驗


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM