微信小程序——分包加载

什么是分包?

在构建小程序的分包项目时候,构建会输出一个或者多个功能的分包。其中每个分包小程序必定会包含一个主包,所谓主包,就是放置默认的启动页面/tabbar页面,以及一些所有分包都需要用到的公共资源/JS脚本,而分包则是根据开发者的配置进行划分。

什么是分包加载

以上进行分包之后,用户在使用的时候按需进行加载,成为分包加载。

为什么要分包加载

对小程序进行分包,可以优化小程序的首次启动的下载时间,以及在多团队共同开发的时候可以更好的解耦操作。

怎么使用?

假设文件目录结构如下:

├── app.js
├── app.json
├── app.wxss
├── packageA
│ └── pages
│ ├── cat
│ └── dog
├── packageB
│ └── pages
│ ├── apple
│ └── banana
├── pages
│ ├── index
│ └── logs
└── utils

我们可以通过app.json中的subPackages字段中声明项目分包结构:

{
  "pages":[
    "pages/index",
    "pages/logs"
  ],
  "subPackages": [
    {
      "root": "packageA",
      "pages": [
        "pages/cat",
        "pages/dog"
      ]
    }, {
      "root": "packageB",
      "pages": [
        "pages/apple",
        "pages/banana"
      ]
    }
  ]
}

打包原则

  • 声明了subPackages后,将按subPackages配置的路劲进行打包,subPackages配置的 路径之外的目录将被打包到app(主包)中
  • app(主包)也可以有自己的pages(最外层的 pages)
  • subPackage 的根目录不能是另外一个 subPackage 内的子目录
  • 首页的 TAB 页面必须在 app(主包)内

引用原则

也就是当前packageA都不能使用packageB的JS文件、template以及资源

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,823评论 25 709
  • 1 Webpack 1.1 概念简介 1.1.1 WebPack是什么 1、一个打包工具 2、一个模块加载工具 3...
    Kevin_Junbaozi阅读 11,770评论 0 16
  • ①常常想像一朵无名的花一样 默默无闻的绽放在田野 任风来,我自摇摆 任雨来,我自逍遥 不需谁来问 不需谁来听 我的...
    利君理疗阅读 1,150评论 0 0
  • 今晚看了一部电影《完美陌生人》,剧情类似于真心话大冒险,几对情侣朋友晚上聚餐突然有一人建议玩个游戏,大家手机全部拿...
    不贪睡的牛阅读 3,161评论 0 0
  • 下雨天,窝在被窝里面,想要别人为我,吃饭,吃东西,真的是很懒!一到假期,我似乎就不想第二天的到来,因为有种...
    好呀你阅读 1,625评论 0 1