uniapp编译微信小程序的分包处理

uniapp编译微信小程序的分包处理

程序代码包不能超过16MB 大小,所以,小程序可以秒开,但是随着业务的发展,又推出整个小程序所有分包大小不超过 16M,而16M不能秒开,
于是就推出分包加载,分包大小不能超过2M

//分包使用规则 假设小程序目录结构如下:

├── app.js
├── app.json
├── app.wxss
├── moduleA
│   └── pages
│       ├── rabbit
│       └── squirrel
├── moduleB
│   └── pages
│       ├── pear
│       └── pineapple
├── pages
│   ├── index
│   └── logs
└── utils

开发者通过在app.json的subpackages字段中对应的分包配置项中定义independent字段声明对应分包为独立分包。

{
  "pages": [
    "pages/index",
    "pages/logs"
  ],
  "subpackages": [
    {
      "root": "moduleA",
      "pages": [
        "pages/rabbit",
        "pages/squirrel"
      ]
    }, {
      "root": "moduleB",
      "pages": [
        "pages/pear",
        "pages/pineapple"
      ],
      "independent": true
    }
  ]
}

规则:
1.声明 subpackages 后,将按 subpackages 配置路径进行打包,
2.subpackages 配置路径将作为分包打包,其他都被打包到 app(主包) 中
3.app(主包)也可以有自己的 pages(即最外层的 pages 字段)
4.subpackage 的根目录不能是另外一个 subpackage 内的子目录
5.tabBar 页面必须在 app(主包)内
6.每个分包都可以使用自己分包内的资源以及引用require app里面的资源,但是分包与分包之间 ,都是不可通信的
,分包与主包下的pages里面的内容也是不可通信的(这一点有待考证)

立分包中不能依赖主包和其他分包中的内容,包括js文件、template、wxss、自定义组件、插件等。
主包中的app.wxss对独立分包无效,应避免在独立分包页面中使用 app.wxss 中的样式,或者不适用独立分包,去掉"independent": true;
App 只能在主包内定义,独立分包中不能定义 App,会造成无法预期的行为;
独立分包中暂时不支持使用插件

注意点:当你分包之后发现样式错乱了,注意去掉独立分包的"independent": true,亲自踩坑,这里分享给大家避坑了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值