uniapp开发微信小程序预加载分包

微信小程序分包是一种优化小程序项目结构和性能的方式。它允许开发者将小程序代码包拆分成多个子包,在用户需要时动态加载这些子包,从而减少小程序的首次加载时间和主包的体积。(总体积不得大于20M,主包(共同文件+静态资源)也不得超过2M)

  1. 主包(主包):主包包含小程序的基础框架和一些常用页面和组件,是用户打开小程序时首先加载的部分。主包的体积限制为2MB。

  2. 分包:分包是指除了主包以外的其他代码包,可以包含小程序的页面、组件和资源文件。分包的主要目的是将小程序的代码和资源分割成多个包,以降低主包的体积和加载时间。

  3. 分包加载策略:微信小程序支持两种分包加载策略:预加载和按需加载。预加载是指在小程序启动时就加载分包,而按需加载是指在需要时动态加载分包。

  4. 配置分包:要使用分包功能,开发者需要在小程序的配置文件(app.json)中进行配置。可以通过 subpackages 字段指定分包的路径、名称和预加载策略。

  5. 动态加载分包:除了在小程序启动时加载分包,开发者还可以使用 wx.loadSubPackage() 方法在小程序运行时动态加载分包。这可以根据用户操作或特定条件来决定加载哪些分包,以实现更灵活的代码加载。

1、manifest开启分包

    "mp-weixin" : {"optimization" : {"subPackages" : true // 开启分包优化},},

2、pages.json中写入分包配置代码(与pages同级)

示例:分包页面路径

"subPackages": [{"root": "packageA", // 分包1"name": "packageA","pages": [{"path": "pageA1","style": {"navigationBarTitleText": "分包a页面1","enablePullDownRefresh": false}},{"path": "pageA2","style": {"navigationBarTitleText": "分包a页面2","enablePullDownRefresh": false,}},]},{"root": "packageB", // 分包2"name": "packageB","pages": [{"path": "pageB1","style": {"navigationBarTitleText": "分包b页面1","enablePullDownRefresh": false}},{"path": "pageB2","style": {"navigationBarTitleText": "分包b页面2","enablePullDownRefresh": false}}]}
//再有分包继续添加],

分包加载:

	"preloadRule": { // 分包预载配置 "pages/mall/index": { // 在进入小程序pages/mall页面时,由框架自动预下载分包A"network": "all","packages": ["packageA"]//数组格式  可以加载多个包},"pages/Mine/Mine": { // 在进入小程序pages/Mine页面时,由框架自动预下载分包A、分包B"network": "all","packages": ["packageA","packageB"]}},

分包文件夹在根目录:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/852179.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Matlab|基于主从博弈的智能小区代理商定价策略及电动汽车充电管理

目录 一、主要内容 二、部分代码 三、程序结果 四、下载链接 一、主要内容 主要做的是一个电动汽车充电管理和智能小区代理商动态定价的问题,将代理商和车主各自追求利益最大化建模为主从博弈,上层以代理商的充电电价作为优化变量,下层以…

从Android刷机包提取System和Framework

因为VIVO的手机很难解锁BL和Root,故直接从ADB中获取完整的Framework代码是比较困难的。我就考虑直接从VIVO提供的刷机包文件中获取相关的代码 由于vivo把system.new.dat分割了,所以下一步,我们使用cat命令,合并这些文件&#xff0…

Java I/O模型

引言 根据冯.诺依曼结构,计算机结构分为5个部分:运算器、控制器、存储器、输入设备、输出设备。 输入设备和输出设备都属于外部设备。网卡、硬盘这种既可以属于输入设备,也可以属于输出设备。 从计算机结构的视角来看,I/O描述了…

在 Kubernetes 上拉取 Harbor 私有仓库镜像并部署服务

上一篇讲解了IntelliJ IDEA和Jib Maven插件配合,镜像一键推送到Harbor私服仓库,今天来讲解下怎么让k8s直接拉取Harbor 私有仓库上面的镜像 创建 Kubernetes Secret 用于拉取镜像 因为 Harbor 仓库是私有的,我们需要创建一个 Kubernetes Sec…

JavaScript面向对象

一、编程思想 面向过程介绍 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些一步一步实现,使用的时候再一个一个依次调用就可以了。 面向过程,就是按照我们分析好了的步骤,按照步骤解决问题。 面向对象编程&#xf…

使用Python实现管理员权限操作的WiFi的方法

在网络连接方面,无线局域网(WLAN)已成为我们日常生活中不可或缺的一部分;在某些情况下,我们可能需要管理员权限才能启用或禁用WLAN,但是通常会遇到权限不足的问题;为了解决这个问题,…

keil调试过程中遇到的问题及栈分析遇到的问题

文章目录 前言进行最坏运行时间分析及栈分析遇到的两个问题 一、问题1二、问题2总结 前言 进行最坏运行时间分析及栈分析遇到的两个问题 一、问题1 项目使用的时间片,在线调试过程中进行最坏运行时间通过打断点发现一个有个问题: 在一个时间片的开头和…

阻抗控制(Impedance Control)和导纳控制(Admittance Control)例子

阻抗控制(Impedance Control)和导纳控制(Admittance Control) 是两种用于机械臂或机器人交互控制的策略。阻抗控制定义的是机器人端部的力和位置之间的关系,而导纳控制则定义的是外力和运动之间的关系。导纳控制常用于处理机器人与环境交互中的力控制问题。 适用场景对比…

185.二叉树:二叉搜索树的最近公共祖先(力扣)

代码解决 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/class Solution { public:// 函数用于寻找二叉搜索树中节点 p 和 q 的最低…

flask基础4-flask数据库操作

目录 一.SQLALchemy 1.安装: 2.连接 二:创建OBM映射 SQLALchemy常用数据类型 三:数据的CRUD操作 1.构建session对象 2.添加对象 3.查找对象 4.修改对象 5.删除对象 四:ORM的关联关系 1.表的外键关联一对多 3.ORM中的一…

Honor of Kings 2024.06.13 (2)

【第一局】准确的说,其实对面优势更加明显,可惜黄忠和墨子喜欢杀人,而我又是不喜欢杀人的,打了好几次失误 【第二局】阵容本来很有优势,这个二呆射手跟第一局黄忠一样爱杀人,应该说三路的输出都爱杀人&…

编程器可以做什么游戏:探索游戏开发的无限可能

编程器可以做什么游戏:探索游戏开发的无限可能 编程器,作为游戏开发的核心工具,赋予了开发者创造独特游戏体验的能力。那么,编程器究竟可以做什么游戏呢?本文将从四个方面、五个方面、六个方面和七个方面,…

小主机折腾记26

双独立显卡调用问题 前两天将tesla p4从x99大板上拆了下来,将880G5twr上的rx480 4g安装到了x99大板上,预计是dg1输出,rx480做3d运算。安装完驱动后,还想着按照之前tesla p4的设置方法去设置rx480,结果果然&#xff0c…

Serverless 使用OOS将http文件转存到对象存储

目录 背景介绍 系统运维管理OOS 文件转存场景 前提条件 实践步骤 附录 示例模板 背景介绍 系统运维管理OOS 系统运维管理OOS(CloudOps Orchestration Service)提供了一个高度灵活和强大的解决方案,通过精巧地编排阿里云提供的OpenAPI…

AcWing 477:神经网络 ← 拓扑排序+链式前向星

【题目来源】https://www.acwing.com/problem/content/479/【题目描述】 人工神经网络(Artificial Neural Network)是一种新兴的具有自我学习能力的计算系统,在模式识别、函数逼近及贷款风险评估等诸多领域有广泛的应用。 对神经网络的研究…

Golang的json解析--Gjson库的使用举例

目录 简介 安装 原生的json解析 Gjson使用举例 基本使用 键路径 使用示例 其他资源 简介 在 Golang 中,解析 JSON 数据是一项非常常见的任务。Go提供了标准的JSON包,可以轻松地将JSON数据序列化和反序列化。但是,在使用标准JSON包…

Navigation的基本使用及其原理

Navigation的基本使用 1. 添加依赖 首先,在项目的build.gradle中添加Navigation组件库的依赖。 dependencies { implementation androidx.navigation:navigation-fragment:X.X.X implementation androidx.navigation:navigation-ui:X.X.X // 请替换X.X.X为当前最…

Go语言的GoFly快速开发框架已经支持Postgresql和Mysql两种数据库

两个数据库的选择 我们框架为了方便大家开发能更加业务场景选择不同侧重性能要求的数据,我们把MySQL和PostgreSQL两个在开源界很有名气数据库都支持进去。这样一个企业可以在开发习惯不改变情况下可以有两个选择。 这样的话我们在选择数据库系统时,需要…

Rust : windows下protobuf和压缩传输方案

此前dbpystream库是用python开发 web api。今天在rust中试用一下protobuf。 本文关键词:编译器、protobuf、proto文件、序列化、zstd压缩,build。 一、 protobuf编译器下载 具体见相关文章。没有编译器,protobuf无法运行。 windows参见&am…

【皇帝的新衣】虚拟小组长的团队管理

团队有时候会需要设立虚拟小组长来分组帮忙管理,那么,虚拟小组的负责人应当怎么做好管理动作? 目前很多大厂追求团队管理上的扁平化,但真正有实职的领导们一般管理30人数,此时需要一个虚拟小组长来分组帮忙管理。 一、…