欧美天堂在线观看-欧美天堂在线视频-欧美天天视频-欧美天天性-国产伦精品一区二区三区在线观看-国产伦精一区二区三区

資訊動(dòng)態(tài)

微信小程序分包加載功能

日期:2018-06-15 作者:管理員 來(lái)源:本站

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

微信小程序分包加載功能

微信小程序分包加載功能


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

1. 分包配置

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

假設(shè)游戲的目錄結(jié)構(gòu)如下:

├── 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/' // 可以指定一個(gè)目錄,目錄根目錄下的 game.js 會(huì)作為入口文件,目錄下所有資源將會(huì)統(tǒng)一打包
    }, {
      name: 'stage2',
      root: 'stage2.js' // 也可以指定一個(gè) JS 文件
    }
  ]
  ...
}

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

2. 分包加載

我們提供了 wx.loadSubpackage() API 來(lái)觸發(fā)分包的下載,調(diào)用 wx.loadSubpackage 后,將觸發(fā)分包的下載與加載,在加載完成后,通過(guò) wx.loadSubpackage 的 success 回調(diào)來(lái)通知加載完成。

同時(shí),wx.loadSubpackage 會(huì)返回一個(gè) LoadSubpackageTask,可以通過(guò) LoadSubpackageTask 獲取當(dāng)前下載進(jìn)度。

示例代碼:

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

loadTask.onProgressUpdate(res => { console.log('下載進(jìn)度', res.progress) console.log('已經(jīng)下載的數(shù)據(jù)長(zhǎng)度', res.totalBytesWritten) console.log('預(yù)期需要下載的數(shù)據(jù)總長(zhǎng)度', res.totalBytesExpectedToWrite)
})

老版本兼容

由微信后臺(tái)編譯來(lái)處理舊版本客戶端的兼容,后臺(tái)會(huì)編譯兩份代碼包,一份是分包后代碼,另外一份是整包的兼容代碼。對(duì)于老客戶端,會(huì)去下載整包代碼啟動(dòng)。

開發(fā)者在基礎(chǔ)庫(kù) 2.1.0 以下的版本不需要調(diào)用 wx.loadSubpackage 觸發(fā)加載,2.1.0 以下版本不存在 wx.loadSubpackage 方法。

已知 BUG

目前 Android 無(wú)法加載分包下的字體文件,預(yù)計(jì)在下個(gè)微信客戶端版本修復(fù)。


LoadSubpackageTask wx.loadSubpackage(Object object)

基礎(chǔ)庫(kù) 2.1.0 開始支持,低版本需做兼容處理

觸發(fā)分包加載,詳見 分包加載

參數(shù)

Object object
屬性 類型 默認(rèn)值 是否必填 說(shuō)明 支持版本
name function
分包的名字,可以填 name 或者 root
success function
分包加載成功回調(diào)事件
fail function
分包加載失敗回調(diào)事件
complete function
分包加載結(jié)束回調(diào)事件(加載成功、失敗都會(huì)執(zhí)行)

返回值

LoadSubpackageTask

加載分包任務(wù)實(shí)例,用于獲取分包加載狀態(tài)


LoadSubpackageTask.onProgressUpdate(function callback)

基礎(chǔ)庫(kù) 2.1.0 開始支持,低版本需做兼容處理

監(jiān)聽分包加載進(jìn)度變化事件

參數(shù)

callback

監(jiān)聽事件的回調(diào)函數(shù)

callback 回調(diào)函數(shù)

參數(shù)
res
屬性 類型 說(shuō)明 支持版本
progress number 分包下載進(jìn)度百分比
totalBytesWritten number 已經(jīng)下載的數(shù)據(jù)長(zhǎng)度,單位 Bytes
totalBytesExpectedToWrite number 預(yù)期需要下載的數(shù)據(jù)總長(zhǎng)度,單位 Bytes



二維碼
掃二維碼手機(jī)查看該文章
TAG標(biāo)簽    小程序 分包加載
當(dāng)前網(wǎng)址:http://m.99523.com.cn/wechat/567.html

相關(guān)資訊

?
Copyright ? 2007-2025 珠海市網(wǎng)訊互聯(lián)信息科技有限公司 m.99523.com.cn 版權(quán)所有
粵公網(wǎng)安備44040202000391號(hào) 粵ICP備19117377號(hào) 網(wǎng)站地圖 站點(diǎn)地圖
在線客服
主站蜘蛛池模板: 国产免费看网站v片不遮挡 国产免费黄视频 | 黄色视屏在线免费观看 | 中文欧美日韩 | 精品一区一区三区新区乱码 | 成人激情综合 | 91视频网址入口 | 亚洲影视久久 | 亚洲另在线日韩综合色 | 精品久久久久国产免费 | 国产一区二区免费视频 | 日韩欧美一区二区三区久久 | 成人久久18免费游戏网站 | 成年人免费网 | 国产精品2022最新在线观看 | 国产日本亚洲欧美 | 视频一区 中文字幕 | 中文字幕在线观看你懂的 | 男女午夜视频在线观看 | 国产久爱青草视频在线观看 | 国产欧美精品一区二区三区–老狼 | 欧美专区在线观看 | 欧美日韩高清在线观看一区二区 | 久久久久久久久综合影视网 | 在线观看一区二区精品视频 | 亚洲一级黄色 | 国产免费无遮挡在线观看视频 | 国产香蕉98碰碰久久人人 | 免费看国产精品麻豆 | 色综合小说天天综合网 | 日本爽爽爽爽爽爽在线观看免 | 欧美日韩精品一区二区三区不卡 | 日本成人激情视频 | 国产免费91视频 | 国产精品久久成人影院 | 欧美专区一区二区三区 | 日韩精美视频 | 国产成人精品精品欧美 | 综合久久99| 99在线精品视频 | 亚洲国产一区在线 | 亚洲成人动漫在线 |