免费试用

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

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中的分包机制,可以方便地将大型应用的代码拆分成多个小包,从而减小单个包的大小,提高小程序的启动速度和用户体验。


相关知识:
个人能开发百度小程序
百度小程序是一种基于百度生态的轻量级应用程序开发框架,具有独立的运行环境和开发工具链。它类似于微信小程序和支付宝小程序,可以提供和手机应用类似的用户体验,但相比于传统的手机应用开发,百度小程序更加简洁、快速和易用。下面我将详细介绍百度小程序的原理和开发流程
2023-08-23
安徽瑜伽小程序开发制作公司
随着健康生活的逐渐受到人们的重视,瑜伽运动作为一种低强度、高效益的运动方式也受到了越来越多人的青睐。在当前互联网时代,为了更方便的寻找适合自己的瑜伽课程,越来越多的人使用瑜伽小程序进行查找和学习。下面,本文将详细介绍安徽瑜伽小程序的开发制作公司。1.安徽瑜
2023-08-09
安徽好的微信订货小程序开发
微信订货小程序是利用微信公众号推出的一种新型订货方式。它能够提供便捷的订货体验,同时也方便商家管理订单并提升销售效率。目前,微信订货小程序在各行各业都得到了广泛的应用,特别是在商贸领域,更是成为了一种主要的销售方式。在安徽地区,微信订货小程序已经得到了广泛
2023-08-09
安宁小程序商城开发
安宁小程序商城是一款基于微信小程序平台开发的电商应用,其主要功能是实现用户浏览商品、下单购买、支付、订单管理、物流追踪、售后服务等一系列电商操作,可以让用户在微信平台上完成一次完整的购物流程。下面将介绍安宁小程序商城的原理和详细开发流程。一、小程序商城原理
2023-08-09
wepy 开发小程序
wepy 是一个类 Vue 的小程序开发框架,可以在小程序中使用类 Vue 的语法和组件化开发方式,同时可以享受到丰富的插件和扩展功能,大大提高了小程序的开发效率和代码质量。本文将详细介绍 wepy 的原理和开发流程。一、wepy 的原理wepy 的核心原
2023-08-09
qq小程序开发需要什么知识
QQ小程序是基于QQ浏览器打造的新一代应用开发平台,其提供给开发者一套标准化的开发流程和组件库,开发者可以快速地开发出功能强大、交互友好、性能稳定的小程序。QQ小程序开发需要以下知识。一、前端基础知识QQ小程序是基于前端技术来实现的,因此开发者需要具备一定
2023-08-09
bmob微信小程序开发
Bmob是一项支持快速开发的后端云服务,主要为移动应用提供服务。Bmob提供了一系列的API,包括用户管理、数据库管理、文件存储、推送服务、地理位置等。在微信小程序开发中,Bmob可以作为后端云服务,提供数据存储、用户管理等功能。Bmob的使用主要分为三步
2023-08-09
app开发小程序官网网址
小程序是用户可以在不需要下载或安装APP的情况下直接使用的轻量级应用程序。相比于APP,小程序无需占用手机存储空间,加载速度更快,用户体验更流畅,因此在近几年逐渐流行起来。开发小程序的官方网站为微信公众平台提供的“小程序云开发”服务。开发者可以在该平台上通
2023-08-09
0基础也能这样开发小程序
小程序是一种轻量级的应用程序,它可以在微信、支付宝等平台中运行,用户可以无需下载安装即可直接使用。小程序开发相对于App开发门槛较低,对于有一定编程基础的人员来说,能够进行简单的小程序开发。以下是小程序开发的一般步骤:1.注册微信公众平台账号在注册之前,您
2023-08-09
微信小程序开发工具经纬度
微信小程序是目前非常流行的一种移动应用开发方式,它可以在微信平台上运行,无需安装即可使用。随着移动定位技术的发展,微信小程序也支持获取用户位置信息,其中经纬度是最为重要的定位信息。那么微信小程序是如何获取用户的经纬度信息的呢?下面我们来详细介绍一下。一、微
2023-05-26
网站怎么做成微信小程序?
微信小程序是一种轻量级的应用程序,用户无需下载安装即可使用,具有开发简单、使用方便等优点,因此成为了近年来互联网领域的热门话题。那么,网站如何转化为微信小程序呢?以下是一些原理和详细介绍。
2023-04-06
小程序链接转换成网址
小程序是一种轻量级应用程序,可以在微信、支付宝等平台上运行。与传统的APP相比,小程序不需要下载安装,用户可以直接在平台上使用,具有快速、便捷的特点。但是,小程序的链接不能像普通网页链接一样直接复制粘贴,需要进行转换才能使用。本文将介绍小程序链接转换成网址
2023-04-06