【微信小程序】-- 分包(四十四)

简介: 【微信小程序】-- 分包(四十四)



一、分包 - 基础概念

  前面已经介绍了 全局数据共享,通过栗子学习了 MobX 安装和使用,分别能够将全局数据对象在页面和组件上进行引用。接下来就来学习一下小程序中另外一个概念-分包。话不多说,让我们原文再续,书接上回吧。

1、什么是分包

  分包指的是把一个完整的小程序项目,按照需求划分为不同的子包,在构建时打包成不同的分包,用户在使用

时按需进行加载。

2、分包的好处

  对小程序进行分包的好处主要有以下两点:

  • 分包之后,可以先加载主包,也就是主页面,这样的话就能优化小程序首次启动的下载时间。
  • 在多团队共同开发时,可以按照功能的不同分为不同的子包,从而分配给不同的人,开发效率更高效,更具有更好的解耦协作。

3、 分包前项目的构成

  分包前,小程序项目中所有的页面和资源都被打包到了一起,导致整个项目体积过大,影响小程序首次启动的下载时间。可以来看一下小程序的构成,如图所示:

4、 分包后项目的构成

  分包后,小程序项目由 1 个主包 + 多个分包组成:

  • 主包:一般只包含项目的启动页面或 TabBar 页面、以及所有分包都需要用到的一些公共资源,注意:这些公共资源可以被所有分包访问到
  • 分包:只包含和当前分包有关的页面和私有资源(分包里的私有资源只能被当前分包访问,不能被其他包访问)。

5、分包的加载规则

  • 在小程序启动时,默认会下载主包并启动主包内页面
  • tabBar 页面需要放到主包中
  • 当用户进入分包内某个页面时,客户端会把对应分包下载下来,下载完成后再进行展示
  • 非 tabBar 页面可以按照功能的不同,划分为不同的分包之后,进行按需下载,从而来优化小程序的启动时间

6、分包的体积限制

  目前,小程序分包的大小有以下两个限制,在实际开发中都必须要遵守:

  • 整个小程序所有分包大小不超过 16M(主包 + 所有分包)。
  • 单个分包/主包大小不能超过 2M。

二、分包 - 使用分包

  在使用分包之前,先来了解一下配置方法。

1、配置方法

  先了解一下小程序的目录结构,如下图所示:

  在 app.jsonsubpackages节点中声明分包的结构:

{
  "pages":[
    "pages/home/home",
    "pages/message/message",
    "pages/contact/contact",
    "pages/shoplist/shoplist"
  ],
  "subpackages": [
    {
      "root": "packageA",
      "pages":[
        "pages/cat/cat",
        "pages/dog/dog "
      ]
    },{
      "root": "packageB",
      "pages": [
        "pages/apple/apple"
      ]
    }
  ],
}

  pages 表示当前分包下,所有页面的相对存放路径,name 表示分包的别名,注意,在分包里面所有的页面都是根据根目录才进行存放的。

  接下来还可以通过项目基本信息查看分包的大小情况:

2、打包原则

  在小程序中,分包的打包原则一共有四个,如下所示:

  • 小程序会按 subpackages 的配置进行分包,subpackages 之外的目录将被打包到主包中。
  • 主包也可以有自己的 pages(即最外层的 pages 字段)。
  • tabBar 页面必须在主包内
  • 分包之间不能互相嵌套。

3、引用原则

  ;在小程序中,分包的引用原则一共有三个,如下所示:

  • 主包无法引用分包内的私有资源。
  • 分包之间不能相互引用私有资源。
  • 分包可以引用主包内的公共资源。


总结

  感谢观看,这里就是分包的介绍使用,如果觉得有帮助,请给文章点个赞吧,让更多的人看到。🌹 🌹 🌹

  也欢迎你,关注我。👍 👍 👍

  原创不易,还希望各位大佬支持一下,你们的点赞、收藏和留言对我真的很重要!!!💕 💕 💕 最后,本文仍有许多不足之处,欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正!下期再见。

相关文章
|
2月前
|
前端开发 小程序 API
【微信小程序】-- 使用 npm 包 - API Promise化(四十二)
【微信小程序】-- 使用 npm 包 - API Promise化(四十二)
|
2月前
|
资源调度 小程序 前端开发
【微信小程序】-- 使用 npm 包 - Vant Weapp(四十一)
【微信小程序】-- 使用 npm 包 - Vant Weapp(四十一)
|
3月前
|
存储 小程序 UED
微信小程序代码包限制2M 怎么解决?
微信小程序代码包限制2M 怎么解决?
|
2月前
|
资源调度 小程序 前端开发
【微信小程序】-- npm包总结 --- 基础篇完结(四十七)
【微信小程序】-- npm包总结 --- 基础篇完结(四十七)
|
5月前
|
小程序
小程序的分包加载具体流程
小程序的分包加载具体流程
172 0
|
2月前
|
小程序 开发者
【微信小程序】-- 分包 - 独立分包 & 分包预下载(四十五)
【微信小程序】-- 分包 - 独立分包 & 分包预下载(四十五)
|
2月前
|
小程序 前端开发 UED
详细讲解uniapp转小程序分包教程!!!
详细讲解uniapp转小程序分包教程!!!
|
3月前
|
小程序
微信小程序如何分包管理
微信小程序如何分包管理
62 0
|
5月前
|
小程序 UED 开发者
微信小程序如何分包管理
微信小程序如何分包管理
|
26天前
|
小程序 前端开发 API
微信小程序全栈开发中的异常处理与日志记录
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的异常处理和日志记录,强调其对确保应用稳定性和用户体验的重要性。异常处理涵盖前端(网络、页面跳转、用户输入、逻辑异常)和后端(数据库、API、业务逻辑)方面;日志记录则关注关键操作和异常情况的追踪。实践中,前端可利用try-catch处理异常,后端借助日志框架记录异常,同时采用集中式日志管理工具提升分析效率。开发者应注意安全性、性能和团队协作,以优化异常处理与日志记录流程。