HomeDocs
跳到主要内容

使用分包

配置方法

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

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

开发者通过在 app.json subPackages 字段声明项目分包结构:

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

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

字段类型说明
rootString分包根目录
nameString分包别名,分包预下载时可以使用
pagesString[]分包页面路径,相对于分包根目录

打包原则

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

引用原则

  • 两个分包之间无法互相引用对方包中的 js,但是分包中可以引用主包,或者自己分包内的 js。
  • 主包不能引用分包中的 js。

低版本兼容

由 IDE 来处理旧版本客户端的兼容,IDE 会编译两份代码包,一份是分包后代码,另一份则是整包的兼容代码。上传版本时,会将代码包提交到后台。新客户端用分包,老客户端还是用的整包。整包会把各个 subPackages 里面的路径放到 pages 中。

Privacy agreementDeveloper agreementcontact us: developer_service.mi@transsion.com © 2024 MiniApp. All Rights Reserved.