日本在线网-日本在线天堂-日本在线视频一区二区三区-日本在线视频一区二区-日本在线视频一区-日本在线视频网址

資訊動態

微信小程序分包加載功能

日期:2018-06-15 作者:管理員 來源:本站

隨著微信小程序和微信小游戲的玩法越來越豐富,微信小程序開發者對于擴大包大小的需求越來越強烈,所以微信官方團隊推出了小游戲分包加載這個功能。所謂的微信小程序分包加載,即把游戲內容按一定規則拆分這幾包,在首次啟動時先下載必要的包,這個必要的包稱之為「主包」,微信小程序開發者可以在主包內觸發其它分包的下載,從而把首次啟動的下載耗時分散到游戲運行中。目前微信小程序分包加載大小的限制為: 整個小游戲所有分包大小不超過 8M和單個分包/主包大小不能超過 4M。

微信小程序分包加載功能

微信小程序分包加載功能


微信小程序分包加載的使用方法

1. 分包配置

需要先在 game.json 配置分包信息。

假設游戲的目錄結構如下:

├── game.js
├── game.json
├── images
│   ├── a.png
│   ├── b.png
├── stage1
│   └── game.js
│   └── images
│       ├── 1.png
│       ├── 2.png
└── stage2.js

game.json 中的配置:

{
  ...
  subpackages: [
    {
      name: 'stage1',
      root: 'stage1/' // 可以指定一個目錄,目錄根目錄下的 game.js 會作為入口文件,目錄下所有資源將會統一打包
    }, {
      name: 'stage2',
      root: 'stage2.js' // 也可以指定一個 JS 文件
    }
  ]
  ...
}

配置在 subpackages 字段內的目錄或 js 文件,將按照配置打包成一個個「分包」,沒有配置在 subpackages 中的目錄和 js,將會被打包到主包中。

2. 分包加載

我們提供了 wx.loadSubpackage() API 來觸發分包的下載,調用 wx.loadSubpackage 后,將觸發分包的下載與加載,在加載完成后,通過 wx.loadSubpackage 的 success 回調來通知加載完成。

同時,wx.loadSubpackage 會返回一個 LoadSubpackageTask,可以通過 LoadSubpackageTask 獲取當前下載進度。

示例代碼:

const loadTask = wx.loadSubpackage({
  name: 'stage1', // name 可以填 name 或者 root success: function(res) { // 分包加載成功后通過 success 回調 },
  fail: function(res) { // 分包加載失敗通過 fail 回調 }
})

loadTask.onProgressUpdate(res => { console.log('下載進度', res.progress) console.log('已經下載的數據長度', res.totalBytesWritten) console.log('預期需要下載的數據總長度', res.totalBytesExpectedToWrite)
})

老版本兼容

由微信后臺編譯來處理舊版本客戶端的兼容,后臺會編譯兩份代碼包,一份是分包后代碼,另外一份是整包的兼容代碼。對于老客戶端,會去下載整包代碼啟動。

開發者在基礎庫 2.1.0 以下的版本不需要調用 wx.loadSubpackage 觸發加載,2.1.0 以下版本不存在 wx.loadSubpackage 方法。

已知 BUG

目前 Android 無法加載分包下的字體文件,預計在下個微信客戶端版本修復。


LoadSubpackageTask wx.loadSubpackage(Object object)

基礎庫 2.1.0 開始支持,低版本需做兼容處理

觸發分包加載,詳見 分包加載

參數

Object object
屬性 類型 默認值 是否必填 說明 支持版本
name function
分包的名字,可以填 name 或者 root
success function
分包加載成功回調事件
fail function
分包加載失敗回調事件
complete function
分包加載結束回調事件(加載成功、失敗都會執行)

返回值

LoadSubpackageTask

加載分包任務實例,用于獲取分包加載狀態


LoadSubpackageTask.onProgressUpdate(function callback)

基礎庫 2.1.0 開始支持,低版本需做兼容處理

監聽分包加載進度變化事件

參數

callback

監聽事件的回調函數

callback 回調函數

參數
res
屬性 類型 說明 支持版本
progress number 分包下載進度百分比
totalBytesWritten number 已經下載的數據長度,單位 Bytes
totalBytesExpectedToWrite number 預期需要下載的數據總長度,單位 Bytes



二維碼
掃二維碼手機查看該文章
TAG標簽    小程序 分包加載
當前網址:http://www.osshop.cn/wechat/567.html

相關資訊

?
Copyright ? 2007-2025 珠海市網訊互聯信息科技有限公司 www.osshop.cn 版權所有
粵公網安備44040202000391號 粵ICP備19117377號 網站地圖 站點地圖
在線客服
主站蜘蛛池模板: 奇米影视在线视频8888 | 白丝女榨干蹂躏我 | 午夜国产精品福利在线观看 | 国产在线视频欧美亚综合 | 好大~好爽~再进去一点 | 夫妻性生活一级黄色片 | 日韩免费毛片视频杨思敏 | 精品手机在线视频 | 手机在线伦理片 | 亚洲精品老司机福利在线播放 | 国产欧美一区二区三区免费看 | 2019国内精品久久久久久 | 国产精品青青青高清在线 | 四虎在线成人免费网站 | 男人操男人 | 久久精品观看影院2828 | 国产一级免费片 | 欧美性理论片在线观看片免费 | 精品国产品香蕉在线观看75 | 成年人视频在线免费观看 | 亚洲色欲色欲综合网站 | 精新精新国产自在现拍 | 香港三级浴室女警官 | 好大水好多好爽好硬好深视频 | 无码人妻视频又大又粗欧美 | 精品一区二区三区视频日产 | 闺蜜的样子小说安沁在线阅读 | 日本高清不卡一区久久精品 | 日本高清在线观看天码888 | 99精品热| 国产四虎 | 国色天香社区视频免费高清在线观看 | 曹逼网站 | 婷射吧 | 免费抽搐一进一出印度 | 成人精品在线 | 秋霞宅宅236理论片 秋霞一级黄色片 | 极品丝袜乱系列在线阅读 | 亚洲一二三区久久五月天婷婷 | np高h疯狂黄暴宫口 narutomanga玖辛奈之乳 | 国产伦精品一区二区三区免 |