程序分包加载如何使用分包

网友投稿 46 2024-06-30

分包加载

某些情况下,开发者需要将小程序划分成不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载。

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

在小程序启动时,默认会-主包并启动主包内页面,当用户进入分包内某个页面时,客户端会把对应分包-下来,-完成后再进行展示

#1. 使用分包

#1.1 配置方法

假设支持分包的小程序目录结构如下:

├── app.js
├── app.json
├── app.ftss
├── 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",
      "name": "pack2",
      "pages": [
        "pages/apple",
        "pages/banana"
      ]
    }
  ]}
        已复制代码

subpackages 中,每个分包的配置有以下几项:

字段类型说明
rootString分包根目录
nameString分包别名,分包预-时可以使用
pagesStringArray分包页面路径,相对与分包根目录
independentBoolean分包是否是独立分包

#1.2 打包原则

  • 声明 subpackages 后,将按 subpackages 配置路径进行打包,subpackages 配置路径外的目录将被打包到主包中

  • 主包也可以有自己的 pages,即最外层的 pages 字段。

  • subpackage 的根目录不能是另外一个 subpackage 内的子目录

  • tabBar 页面必须在主包内

#1.3 引用原则

  • packageA 无法 require packageB JS 文件,但可以 require 主包、packageA 内的 JS 文件;

  • packageA 无法 import packageB 的 template,但可以 require 主包、packageA 内的 template

  • packageA 无法使用 packageB 的资源,但可以使用主包、packageA 内的资源


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:小程序开发之本地文件管理
下一篇:小程序如何配置独立分包
相关文章

 发表评论

暂时没有评论,来抢沙发吧~