转转小程序分包加载实例分析

发布时间:2022-03-14 10:27:09 作者:iii
来源:亿速云 阅读:155

本篇内容介绍了“转转小程序分包加载实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

看似很美好的设计,但有两个问题:

问题看似不大,但对转转有很大影响,例如进行微信广告投放时,用户从点击广告到加载第一个页面之间的流失率竟能到达 40% ,这显然是 FE 无法接受的性能,而小程序分包加载机制能够在一定程度上解决上述问题。

分包加载

小程序的分包加载机制实际上是离线包和 M 页的一种结合机制,即你可以把代码划分成主包 +N 个分包,官方定义:

在小程序启动时,默认会下载主包并启动主包内页面,如果用户需要打开分包内某个页面,客户端会把对应分包下载下来,下载完成后再进行展示。

总结如下:

这样的好处是进入主包页面时,需要下载的代码量小了很多,白屏时间更短,体验更佳。

特性

关于主包

关于分包

转转的分包加载

转转小程序在使用分包之前,压缩后的代码量大概是2.45M,也就是说,每个新用户第一次都需要下载的2.45M代码才能进入页面,使用分包机制后,主包大小降为1M左右,也就是说,如果是进入主包页面, 下载时间大约降低了60%

文件结构:

├── libs
├── components
├── pages  主包根目录
├────index 首页
├────post  发布页
├────...
├── subPages  分包根目录
├────trade    交易分包
├────mine     我的页面分包
├────...
复制代码

我们根据用户访问的轨迹,分成了 20 个左右的分包。 例如 trade 包,里面包含详情页、下单页、支付页、支付成功页等,这条线的页面,用户可能不需要一进入小程序就使用,但一旦使用可能是使用整个链条,因此可以作为一个分包。

历史入口兼容

一个页面放入分包之后,路径会发生变化,例如详情页由 /pages/detail 变为 /subPages/trade/detail,意味着如果用户访问了以前的 page 则得不到正确的页面响应(例如:分享出去的小程序卡片、二维码、公众号推送消息等),这些静态不可改变的历史入口怎么办?我们目前采用如下方案:

原来主包内的每个页面都保留,但代码只保留跳转逻辑,用户进来后立即跳到对应的分包页面,用户几乎是无感知的

这样也会产生一点小问题:这些跳转页面也占用一定的空间,接下来我们会优化成在 onLaunch、页面跳转时进行判断,直接跳入正确的分包页面。

“转转小程序分包加载实例分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. 小程序跳转小程序
  2. 小程序使用分包的示例代码

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

小程序

上一篇:js如何有条件地向对象添加属性

下一篇:js如何检查属性是否存在对象中

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》