珠海网站建设网珠海网站建设公司 - 品牌建站
只帮客户做赚钱的营销型企业网站,让企业主轻轻松松赚钱!

在中国,有 06815 家企业正在使用我们提供的各项服务!

微信小程序分包加载功能

发布时间:2018-06-15阅读次数:137来源:珠海网站建设网 [ 网讯互联 ][ 我要评论 ] [ 我要投稿 ]

随着微信小程序和微信小游戏的玩法越来越丰富,微信小程序开发者对于扩大包大小的需求越来越强烈,所以微信官方团队推出了小游戏分包加载这个功能。所谓的微信小程序分包加载,即把游戏内容按一定规则拆分这几包,在首次启动时先下载必要的包,这个必要的包称之为「主包」,微信小程序开发者可以在主包内触发其它分包的下载,从而把首次启动的下载耗时分散到游戏运行中。目前微信小程序分包加载大小的限制为: 整个小游戏所有分包大小不超过 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



以上内容由珠海网站建设(网讯互联)为您提供!更多有关网站建设网站设计网站制作微信营销微官网手机网站建设营销型网站建设微信小程序等互联网应用服务都可以联系我们!建站热线:400-000-1280

您想咨询企业网站建设流程和报价吗?
您是否有考虑过打造赚钱营销型企业网站
移动互联网+都这么热门了,您还没有4G手机网站吗?
您想要让您的产品和服务出现在搜索引擎首页吗?
您想获得企业网站整体运营推广解决方案吗?
不说了~ 拿起手机扫码沟通,您懂得! ^_^
珠海网站建设公司微信二维码
嘚啵嘚啵一句:加微信时请告知尊姓大名
本文关键词:小程序,分包加载
本文链接:http://www.zhgov.com/webnews/573.html
参与评论
      珠海网站建设网,微信小程序/企业网站建设综合服务平台
  • 您只需要告诉我们需要什么样的产品,网讯互联团队将为您打造一站式互联网综合应用平台!
立即咨询在线客服

网站建设

为什么要选择网讯互联

工商实名验证
证照齐全 正规公司 诚信经营
公平交易 满意后付款
价格公开透明 倡导理性消费
无风险,免费ICP备案
开具正规发票 免费网站备案
无风险,全额退款
没有有效稿件 承诺全额退款
      网讯互联周报订阅
  • 每个周五,精彩不容错过
填写您的邮件地址,订阅我们的精彩内容:
首页 | 关于我们 | 新闻中心 | 支付方式 | 我要加盟 | 我要爆料 | 我要合作 | 我要做网站 | 我要备案 | 网站地图 | 友情链接 | 在线客服 | 联系方式
Copyright © 2007-2018 珠海市网讯互联信息科技有限公司 [ 珠海网站建设网 ] www.zhgov.com , All Rights Reserved. TAGS 新闻地图
【珠海网站建设网】企业网站建设、网站制作、网站设计、营销型网站建设、外贸网站制作、手机网站制作、微信营销、微官网、微信小程序、云主机等服务提供商 ^_^
联系地址:广东省珠海市香洲区香海路129号 咨询电话:133-9295-6503(一按帮您) 传真:0756-3130945 业务邮箱:[ 马上写信咨询 ] 业务QQ:79535318
工商注册号工业和信息化部粤ICP备12038494号粤公网安备 44040202000391号 众信验证 百度信誉V官网认证 安全联盟实名验证