免费试用

跨平台小程序在线开发工具,用做网页的技术做小程序,兼容微信、支付宝、抖音、快手、百度等主流小程序平台!

uniapp开发的微信小程序分包

Uniapp是一款多端开发框架,支持开发微信小程序、H5、APP等多端应用。在开发微信小程序时,由于小程序限制单包大小必须不超过2MB,而一些项目需要引入大量的第三方库和图片资源,因此需要采用分包的方式来解决单包大小限制的问题。

一、分包原理

Uniapp中的分包原理是将项目中的文件按照指定的规则拆分成多个包,这些包在小程序启动后会异步加载并进行合并。当需要使用分包中的某个组件或页面时,Uniapp会自动加载该分包,并且只有在需要的时候才会加载分包中的其他组件和页面,以此来减小小程序的启动时间和提高用户体验。

分包的实现原理是在app.json文件中指定subpackages字段,该字段是一个数组类型,里面每一个对象都代表一个分包,并包含以下字段:

1. name:分包名称,必填项。

2. root:分包文件路径,相对于根目录,必填项。

3. pages:分包中的所有页面路径,可选项。

其中,name字段表示分包名称,将多个页面放在同一个分包中,可以方便的根据业务划分分包;root字段表示分包路径,也就是指定分包中页面所处的文件夹路径;pages字段可选,如果不指定pages,则表示该分包仅仅包含组件和其他资源文件,不包含页面。

二、分包示例

1. 在app.json文件中添加subpackages字段:

```javascript

{

"pages": [

"pages/index/index",

],

"subPackages": [

{

"name": "package1",

"root": "pages/package1/",

"pages": [

"package1-page1"

]

},

{

"name": "package2",

"root": "pages/package2/",

"pages": [

"package2-page1"

]

}

],

"tabBar": {

"list": [

{

"pagePath": "pages/index/index",

"text": "首页"

},

{

"pagePath": "pages/package1/package1-page1",

"text": "第一个分包"

},

{

"pagePath": "pages/package2/package2-page1",

"text": "第二个分包"

}

]

}

}

```

上述代码中我们可以看到:

- 三个文件夹(一个根文件夹,两个分包)

- 文件夹名包含多个单词(需用连字符隔开)

- 每个分包中只有一个页面

- 分包包含的页面路径,最终打包时会被合并至分包对应的目录

2. 打开微信开发者工具,可以在工具栏中找到“分包分析”按钮,点击后可以查看应用在各个分包之间的资源大小和依赖关系。

![image](https://cdn.nlark.com/yuque/0/2021/png/10872165/1613063421692-0d70ade6-3b4e-4d3a-8a8c-a99b068b0f13.png#align=left&display=inline&height=212&margin=%5Bobject%20Object%5D&name=image.png&originHeight=212&originWidth=781&size=16516&status=done&style=none&width=781)

在上述分析结果中,我们可以看到wxss、js、wxs、json等文件按照各个分包进行资源拆分,根据分析结果,我们可以对分包做一些优化和调整,例如单独拆出一些公共组件放到公共分包中,以此减小分包的大小。

三、注意事项

1. 分包名称不能重复。当分包名相同时,后面的分包会覆盖前一个分包。

2. 分包路径必须以/结尾,指定路径时,不建议使用../的相对路径。

3. 分包中的文件不能超过1MB,否则无法预加载。对于超过1MB的文件,建议使用动态加载的方式。

4. 注意分包的文件夹结构,确保不同分包中的文件不会有路径冲突。

总之,Uniapp中的分包机制,可以方便地将大型应用的代码拆分成多个小包,从而减小单个包的大小,提高小程序的启动速度和用户体验。


相关知识:
安阳小程序开发
随着移动互联网的普及,越来越多的企业和个人开始考虑开发小程序以满足用户的需求。小程序是一种在手机客户端上运行的应用程序,但与传统的APP有所不同,因为小程序不需要下载和安装,用户可以直接在微信、支付宝等社交媒体平台上使用,从而降低了使用门槛。本文将详细介绍
2023-08-09
安徽知识付费类小程序开发费用多少钱一个月
知识付费类小程序指的是一种将知识分享与付费结合在一起的应用程序。它可以让用户购买和学习各种知识,例如语言学习、健身教练、音乐课程等等。如今,随着在线教育市场的不断扩大和升温,知识付费类小程序也受到越来越多的关注。安徽地区也不例外,越来越多的人开始关注知识付
2023-08-09
安徽小程序开发需要多少钱一年
安徽小程序开发需要的费用是一个比较复杂的问题,因为它涉及多个方面,如开发和运营成本、技术人员工资、服务器费用和推广费用等。下面就是一些相关的费用细节,请看下文。首先,需要了解安徽小程序开发的原理。小程序是一种没有下载和安装过程的应用,基于微信的开发平台,用
2023-08-09
安卓开发小程序
安卓开发小程序是一种新型的移动应用开发方式,它是在系统内部使用 WebView 加载前端代码实现的。相比于传统的原生应用开发方式,小程序的开发周期更短、开发成本更低,并且兼容性良好、用户体验优秀。小程序作为一种比较新兴的技术,本文将为您详细介绍安卓开发小程
2023-08-09
pycharm开发微信小程序
PyCharm是一款由JetBrains开发的Python集成开发环境,可用于开发微信小程序。微信小程序是一种基于微信平台的应用程序,可以在微信内部直接使用,无需下载安装。本文将介绍如何在PyCharm中开发微信小程序。1. 创建项目首先,打开PyChar
2023-08-09
excel微信小程序开发
微信小程序是在微信生态圈内的一种小型应用程序,它具有轻量化、便捷、无需下载安装等特点,用户可在微信中进行使用。而Excel微信小程序开发,则是一种小程序开发的应用场景,主要是为了方便用户能够快速地在微信中进行表格数据的处理和展示。Excel微信小程序的开发
2023-08-09
asp能开发小程序吗
ASP是一种服务端脚本语言,可以用于开发Web应用程序。通常,ASP是在IIS(Internet Information Services)服务器上运行的,但它也可以在其他服务器上运行。ASP被广泛应用于开发Web应用程序、动态网站、Web博客和电子商务网
2023-08-09
app开发和小程序开发成本对比
App和小程序都是现代互联网时代中的两个重要概念,随着移动互联网行业的不断发展,App和小程序扮演着越来越重要的角色。App开发是将应用程序开发成独立的软件,而小程序则是指在微信等社交软件中的小型应用程序。二者各有特点和优劣,那么我们该如何对这两种应用进行
2023-08-09
珠海哪里有微信小程序开发工具
微信小程序是一种轻量级的应用,一般用于小范围应用的开发,如公司内部管理系统、小买卖等。微信小程序的开发需要使用相应的开发工具,目前主要有微信开发者工具、HbuilderX等。在珠海,相信许多公司和个人都对微信小程序开发感兴趣,下面将为大家介绍一下微信小程序
2023-05-26
小程序开发工具测试转发
小程序作为一种新型的开发方式,日渐受到了越来越多的关注。其强大的开发框架和独特的用户体验吸引了很多开发者的眼球。而小程序转发则是其中一个非常重要的功能,在小程序的推广和交流中发挥了至关重要的作用。那么小程序开发工具是如何进行测试小程序转发功能的呢?首先,小
2023-05-26
qq小程序开发工具如何设置布局
QQ小程序是一种基于QQ生态体系的小程序,通过QQ小程序开发工具创建和管理小程序。布局设置在小程序开发中非常重要,可以影响小程序的整体设计、用户体验和开发效率。在本文中,我们将介绍QQ小程序开发工具如何设置布局的原理和详细步骤。一、布局设置原理在QQ小程序
2023-05-22
【微信小程序】获取微信小程序代码上传密钥
获取微信小程序代码上传密钥1.登录微信小程序管理后台 https://mp.weixin.qq.com/ 请使用管理员扫码登录2.在小程序管理后台,找到 开发管理 -> 开发设置 -> 小程序代码上传 -> 生成/重置 密钥
2022-08-16