赞
踩
目录
分包指的是把一个完整的小程序项目,按照需求划分为不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载。
1. 优化小程序首次启动多个消灾时间 2. 方便团队开发,解耦协作
一个主包:一般只包含项目的启动页面或 TabBar 页面、以及所有分包都需要用到的一些公共资源 多个分包:只包含和当前分包有关的页面和私有资源
在小程序启动时,默认会下载主包并启动主包内页面,当用户进入某个页面时,客户端会把对应分包下载下来,下载完成后再进行展示
1. 整个小程序所有分包大小不超过20M(主包+所有分包) 2. 单个分包/主包大小不能超过2M
├── pages // 主包 │ ├── index │ └── logs ├── packageA // 分包A │ └── pages │ ├── cat │ └── dog ├── packageB // 分包B │ └── pages │ ├── apple │ └── banana ├── manifest.json // 配置项 └── pages.json // 页面路径
- "mp-weixin":{
- "optimization":{
- "subPackages":true // 开启分包优化
- }
- }
在pages.json中新建"subPackages"数组,"preloadRule"对象
1. "subPackages"数组中包含两个参数:
1.root:为子包的根目录
2.pages:子包由哪些页面组成,参数同pages
注意:主包和分包是不能在同一目录下,所以在构建项目时,要考虑目录结构,以便后期进行分包
2. "preloadRule"中,key 是页面路径,value 是进入此页面的预下载配置
1. network指定网络下预下载可选wifi/all(非必填)
2. packages进入也买你后预下载的分包(必填)
- {
- "pages": ["pages/index"], // 主包内页面
- "subpackages": [
- {
- "root": "packageA", // 分包A
- "pages": [
- {
- "path" : "pages/cat"
- },
- {
- "path" : "pages/dog"
- }
- ]
- },
- {
- "root": "packageB", // 分包B
- "pages": [
- {
- "path" : "pages/apple"
- },
- {
- "path" : "pages/banana"
- }
- ]
- }
- ],
- "preloadRule": { // 分包预载配置
- "pages/index": { // 在进入小程序pages/index页面时,由框架自动预下载分包A、分包B
- "network": "all",
- "packages": ["packageA","packageB"]
- }
- }
- }
webstorm 可通过 ctrl+shift+R 替换所有路径
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。