小程序分包加载实现代码包总上限8M
source link: https://www.daguanren.cc/post/subpackage_8m_wxapp.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
小程序分包加载实现代码包总上限8M
2018年6月15日周五23点43分,小程序发布官方公告:小程序分包加载功能升级,新增性能监控,意味着小程序的代码包总上限可提升至8M,但是分包的大小还是不超过2M。即可以使用1个主包,3个分包的方式达到8M的总的代码包大小。这对于广大开发者来说无疑是重大喜讯,那么究竟如何利用代码实现呢?
先来看下实现效果,如下GIF所示,原本一个主包放不下的图片(超过2M),可以放在分包下,实现代码总限超过2M,但分包大小不超过2M。
我的app.json的内容如下:
//app.json "pages": [ "pages/index/index", "pages/loading/loading", "pages/logs/logs", "pages/login/login" "subPackages": [ "root": "packageWeibo", "pages": [ "pages/home/home" "root": "packageShop", "pages": [ "pages/goods/goods", "pages/order/order" "window": { "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "大官人的博客", "navigationBarTextStyle": "black"prolog
分包加载流程
一般情况下,小程序的代码将打包在一起,在小程序启动时一次性下载完成。采用分包时,小程序的代码包可以被划分为几个:一个是“主包”,包含小程序启动时会马上打开的页面代码和相关资源;其余是“分包”,包含其余的代码和资源。这样,小程序启动时,只需要先将主包下载完成,就可以立刻启动小程序。这样就可以显著降低小程序代码包的下载时间。
更多可参考小程序开发指南
如上图所示,我这里的两个子目录packageWeibo和packageShop就构成了两个分包,每个分包下都可以有自己的页面代码和资源文件,如images和pages。而除掉这两个目录的部分就是小程序的主包。在小程序启动时,“packageWeibo”和“packageShop”两个子目录的内容不会马上被下载下来,只有主包的内容才会被下载。利用这个特性就可以显著降低初始启动时的下载时间。
模块加载效果如下GIF图所示:
实现代码如下:
<!--pages/login/login.wxml--><text>pages/login/login.wxml</text><button type="primary" bindtap="sendRequest"> primary </button><button type="primary" bindtap="wxlogin"> login </button><button type="primary" bindtap="shopGoods"> shopGoods </button> * shopGoods shopGoods: function (e) { if (e) { wx.navigateTo({ url: '/packageShop/pages/goods/goods'<!--pages/goods/goods.wxml--><text>这是分包packageShop下的商品goods主页</text>dust
完整示例代码请浏览: https://github.com/haodalong/daguanren-wxapp-demo (记得给小星星哦)
Recommend
-
102
基于拆分包的React Native在iOS端加载性能优化 刘亚东...
-
47
转自:工程综合 建设工程中发包、承包、分包、转包、内包、挂靠是工程中一个很普遍的工程现象和常见的法律问题,也是大家经常遇到或者听到的问题。很多人把这几者的关系容易给整混淆...
-
58
「离线包」机制 微信小程序采用的是类似离线包加载方案,以转转小程序为例,当用户第一次打开时会先下载好所有代码,然后再加载页面;当用户再次进入转转小程序时,会直接使用已下载的代码,省去了代码下载的过程,打开速度更快。 看似很美好的设计,但有两个问题...
-
31
TCP分包、合包的场景 TCP通信是流式的,在发送一个大数据包时,可能会被拆分成多个数据包进行发送,同时,多次发送数据包,也可能会被底层合并成一个数据包进行发送。 分包:接收一个数据包,需要对数据包进行拆分...
-
13
webpack分包及异步加载套路 ...
-
13
UMI2分包splitChunks配置 umi 分包配置 配置之前 bundle size 是 37.7 MB 配置之后 bundle size 是 18.8 MB 终于降到 20MB 以下了。 结合上一篇查看更多解释
-
5
Taro3 项目分包实践 京东购物小程序作为京东小程序业务流量的主要入口,承载着许多的活动和页面,而很多的活动在小程序开展的同时,也会在京东 APP 端进行同步的 H5 端页面的投放。这时候,一个相同的活动,需要同时开发原生小程序页面和H5页面...
-
4
文章首发个人博客: 高先生的博客
-
10
xuedingmiaojun/wxappUnpacker: 小程序反编译(支持分包) README.md ...
-
8
V2EX › Python Python 的 pickle 加载大于内存上限的内容时会分段载入吗?应该怎么处理大文件读取?
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK