uniapp分包,小程序分包处理,详解(图解),手把手从0开始

news2025/2/28 21:51:13

一、为什么要分包

因小程序有体积和资源加载限制,优化小程序的下载和启动速度。

二、主包和分包

所谓的主包,即放置默认启动页面/TabBar 页面,以及一些所有分包都需用到公共资源/JS 脚本;而分包则是根据pages.json的配置进行划分。

在小程序启动时,默认会下载主包并启动主包内页面,当用户进入分包内某个页面时,会把对应分包自动下载下来,下载完成后再进行展示。此时终端界面会有等待提示。

App默认为整包。从uni-app 2.7.12+ 开始,也兼容了小程序的分包配置。其目的不用于下载提速,而用于首页是vue时的启动提速。App下开启分包,除在pages.json中配置分包规则外,还需要在manifest中设置在app端开启分包设置,详见:uni-app官网

目前小程序分包大小有以下限制:

  • 微信小程序每个分包的大小是2M,总体积一共不能超过20M。
  • 百度小程序每个分包的大小是2M,总体积一共不能超过8M。
  • 支付宝小程序每个分包的大小是2M,总体积一共不能超过8M。
  • QQ小程序每个分包的大小是2M,总体积一共不能超过24M。
  • 字节小程序每个分包的大小是2M,总体积一共不能超过16M(字节小程序基础库 1.88.0 及以上版本开始支持,字节小程序开发者工具请使用大于等于 2.0.6 且小于 3.0.0 的版本)

三、原始配置

首先我们来看一下正常的配置和目录,当前添加了tabBar表现,这里我们只添加了四个

当前还没有配置分包的pages.json文件

{
	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
		{
			"path": "pages/index/index",	//配置页面路径
			"style": {
				"navigationBarTitleText": "首页",	//导航栏标题文字内容
				"enablePullDownRefresh": false	//是否开启下拉刷新: 默认为false
			}
		}, 
		{
			"path": "pages/car/car",
			"style": {
				"navigationBarTitleText": "订单",
				"enablePullDownRefresh": false
			}
		}, 
		{
			"path": "pages/mine/mine",
			"style": {
				"navigationBarTitleText": "我的",
				"enablePullDownRefresh": false
			}
		}, 
		{
			"path": "pages/order/order",
			"style": {
				"navigationBarTitleText": "购物车",
				"enablePullDownRefresh": false
			}
		}
	],
	"tabBar":{	//设置底部 tab 的表现
		"color": "#909399",		//tab 上的文字默认颜色
		"selectedColor": "#303133",		//tab 上的文字选中时的颜色
		"backgroundColor": "#e5e5e5",	//tab 的背景色
		"borderStyle":"white",		//tabbar 上边框的颜色,可选值 black/white,也支持其他颜色值
		"list": [	//tab 的列表,详见 list 属性说明,最少2个、最多5个 tab
			{
				"pagePath": "pages/index/index",	//页面路径,必须在 pages 中先定义
				"iconPath": "static/tabBar/home.png",	//图片路径
				"selectedIconPath": "static/tabBar/home-active.png",	//选中时的图片路径
				"text": "首页"		//tab 上按钮文字,在 App 和 H5 平台为非必填。例如中间可放一个没有文字的+号图标
			},
			{
				"pagePath": "pages/car/car",
				"iconPath": "static/tabBar/circle.png",
				"selectedIconPath": "static/tabBar/circle-active.png",
				"text": "订单"
			},
			{
				"pagePath": "pages/order/order",
				"iconPath": "static/tabBar/order.png",
				"selectedIconPath": "static/tabBar/order-active.png",
				"text": "购物车"
			},
			{
				"pagePath": "pages/mine/mine",
				"iconPath": "static/tabBar/mine.png",
				"selectedIconPath": "static/tabBar/mine-active.png",
				"text": "我的"
			}
		]
	},
	"globalStyle": {
		"navigationBarTextStyle": "black",
		"navigationBarTitleText": "小小商城",
		"navigationBarBackgroundColor": "#F8F8F8",
		"backgroundColor": "#F8F8F8"
	},
	"uniIdRouter": {}
}

 四、分包配置步骤

1.在page文件夹下创建一个subPack(不限制文件夹名称)文件夹,在subPack文件夹下创建tab文件和list文件

2.pages.json文件配置以下配置

{
    //分包加载配置,此配置为小程序的分包加载机制。
	"subPackages": [{
		"root": "pages/subPack", //子包的根目录
		"pages": [{ //这里的配置路径和pages里的一样
				"path": "list", //配置页面路径,这里要注意,因为root已经选中了文件夹,所以我们只要填写文件名就好
				"style": {
					"navigationBarTitleText": "",
					"enablePullDownRefresh": false
				}
			},
			{
				"path": "tab",
				"style": {
					"navigationBarTitleText": "",
					"enablePullDownRefresh": false
				}
			}
		]
	}]
}

 这样我们分包就配置好了但是如果我们想进一步提升分包的启动速度的话需要做分包预加载处理

{
	// 分包预载配置
	"preloadRule": {
		// 当我们进入了pages/index/index页面以后就会预下载pages/subPack分包
		"pages/index/index": {
			"network": "all",	//在指定网络下预下载,可选值为:all(不限网络)、wifi(仅wifi下预下载)
			"packages": ["pages/subPack"]	//进入页面后预下载分包
		}
	}
}

这样我们分包就配置好了

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

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

相关文章

微信小程序详细教程(建议收藏)

一.小程序的开发准备 1. 小程序的安装与创建 第一步 打开小程序官网第二步 找到开发管理,找到开发设置,下面有一个AppID,复制即可,后面开发小程序需要用 新建项目 ,需要先下载微信开发工具下载网址,安装完…

九个前端神奇库,让你的前端项目瞬间美化,甲方看了都落泪

九个前端神奇库,让你的前端项目瞬间美化,甲方看了都落泪 九个前端神奇库 文章目录九个前端神奇库,让你的前端项目瞬间美化,甲方看了都落泪1. Lottie-web/Bodymovin2. Parallax.js3. Magic Grid4. webslides5. SVG.js6. rellax7. …

【Vue面试专题】50+道经典Vue面试题详解!

目录前言相关学习资源01-Vue组件之间通信方式有哪些02-v-if和v-for哪个优先级更高?03-能说一说双向绑定使用和原理吗?04-Vue中如何扩展一个组件05-子组件可以直接改变父组件的数据么,说明原因06-Vue要做权限管理该怎么做?控制到按…

hexo主题应用

可以在hexo主题官网自己选择,官网网址:主题,选择哪个全凭自己的喜好。 我选择的一个主题是stun,官网效果图 安装主题stun git clone https://github.com/liuyib/hexo-theme-stun.git themes/stun安装依赖 git clone -b dist https://github.com/liuyib/hexo-theme-stun…

前端常见面试八股文

HTML篇 1、H5新增标签有哪些? 一、语义化标签 header、footer、nav、aside、section、article 语义化的意义? 1、更适合搜索引擎的爬虫爬取有效的信息,利于SEO。 2、对开发团队很友好,增加了标签的可读性,结构更…

VScode 看这一篇就够了

VScode 小白入门教程 VScode 小白入门教程 VScode简介VScode的下载与安装VScode的常用设置 基础设置禁用自动更新自动保存设置Vscode更换主题 VScode的常用快捷键开发人员常用的VScode插件使用VScode开始你的第一行C/C代码 VScode简介 VScode全称是Visual Studio Code&…

一文吃透JavaScript程序控制流与函数

文章目录思维导图💖程序控制流⛳️顺序结构⛳️分支结构💫比较运算符💫逻辑运算符💫if语句💫switch语句⛳️循环结构💫while语句💫do...while语句💫for语句💫break和cont…

【小程序开发】uniapp引入iconfont图标及使用方式

🧊 前言 本文主要讲述的是在使用uniapp中如何引入iconfont图标,以及两种常用的位置。 位置一:App下原生导航栏的按钮使用字体图标。位置二:页面中的任意位置使用iconfont图标。 🌺 正文 第一步:打开iconfo…

HTML爱心网页制作[樱花+爱心]

HTMLCSSJavaScript实现 先点赞后观看,养成好习惯 “不想动手的小伙伴可以直接拿网盘成品” 阿里云盘------提取码: 0d5j 效果图 注:任意浏览器都可以,建议使用谷歌浏览器 代码部分 代码如下仅供参考 可以直接拿去复制粘贴 <!DOCTYPE html> <html><head>…

2022最新Web前端经典面试试题及答案-史上最全前端面试题(含答案)

程序员面试题库分享 1、前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;前端面试题库 2、前端技术导航大全 推荐&#xff1a;★★★★★ 地址&#xff1a;前端技术导航大全 3、开发者颜色值转换工具 推荐&…

【vite·4】vite在多环境下的配置集成方案及defineConfig(非常详细)

vite的默认配置文件是vite.config.js&#xff0c;最基础的配置文件格式如下&#xff1a; export default {// 配置选项 };我们也可以通过 –config 命令行选项指定一个配置文件&#xff0c;命令行输入&#xff1a; vite --config my-config.js vite运行在node环境&#xff0c;…

【前端小技能】Vue集成百度离线地图

Vue项目集成百度离线地图 工作中遇到了一个需求&#xff0c;要在内网使用百度地图&#xff0c;那么肯定就是离线的地图了&#xff0c;查阅了一些博文&#xff0c;开发过程中也遇到了各种各样的问题&#xff0c;在此做下记录&#xff0c;希望带大家避坑&#xff0c;也给自己这两…

若依:如何去掉首页,设置登录后跳转到第一个路由菜单

若依系统是一个很好用的&#xff0c;开源的前端后台管理系统。 最近公司有一个需求&#xff0c;需要把默认的首页隐藏&#xff0c;登录后直接跳转到路由菜单返回的第一个页面。 查找了不少资料&#xff0c;但是都没有实际的解决方案。 不过最好自己还是实现了这个功能。 步骤…

Vue/React实现路由鉴权/导航守卫/路由拦截(react-router v6)

欢迎来到我的博客 &#x1f4d4;博主是一名大学在读本科生&#xff0c;主要学习方向是前端。 &#x1f36d;目前已经更新了【Vue】、【React–从基础到实战】、【TypeScript】等等系列专栏 &#x1f6e0;目前正在学习的是&#x1f525;React框架React框架React框架&#x1f525…

cnpm安装步骤

安装nodeJS 官网下载&#xff1a;http://nodejs.cn/download/ 选择其他版本下载地址:https://nodejs.org/zh-cn/download/releases/ 选版本点击下载 然后下载后缀名为msi,因为安装简单 选择好地址后无脑安装 二 、创建文件夹 安装完成后我们打开它的目录创建两个文件夹(…

从购买服务器到网站搭建成功保姆级教程~超详细

&#x1f60a;从购买服务器到网站搭建成功保姆级教程~真的超详细&#xff0c;各位看官细品&#x1f680;前言&#x1f680;预备知识&#x1f6a2;什么是云服务器&#xff1f;&#x1f6a2;什么是域名&#xff1f;&#x1f6a2;什么是SSL证书&#xff1f;&#x1f680;服务器选配…

防抖和节流(详细) 使用场景和区别

1.防抖 &#xff08;多次触发 只执行最后一次&#xff09; 作用&#xff1a; 高频率触发的事件,在指定的单位时间内&#xff0c;只响应最后一次&#xff0c;如果在指定的时间内再次触发&#xff0c;则重新计算时间 防抖类似于英雄联盟回城6秒&#xff0c;如果回城中被打断&…

微信小程序超详细知识点总结

一、微信小程序特点 二、使用准备 1.注册开发者帐号 2.下载微信开发者工具 3.微信开发文档 三、项目结构 四、配置文件 1、app.json pages 存放项目的页面 window 项目的窗口 tabBar 底部栏的配置 2、页面.json 五、小程序内置组件 逻辑视觉分区(div) 文本(span) …

微信小程序反编译简易教程与wxappUnpacker使用

文章目录前言一、工具准备1 解密工具2 逆向工具二、解密小程序1.确认小程序包位置2.打开一个小程序&#xff0c;3.解密小程序包三、逆向小程序1 安装依赖2 正式逆向3 其它人视频教程前言 方便微信小程序开发者&#xff0c;对前端思路的学习。所以必须学会小程序反编译技能。用…

【微信小程序】web-view 无法打开该页面不支持打开

本文相关文献&#xff1a; https://developers.weixin.qq.com/community/develop/doc/00084a350b426099ab46e0e1a50004?%2Fblogdetail%3Factionget_post_info 问题&#xff1a; 小程序开发时遇到了一个问题 我在正式上线版小程序使用 web-view 组件测试时提示&#xff1a;“无…