uniapp 微信小程序分包

小程序主包最大 2M,我们用 uniapp 关主框架的代码就占用非常多了,如果我们再加一点图片,是非常不够使用的,所以我们需要把一些低频使用的页面从主包拆分出来,按现有规则,主包、副包每个最大只能 2M,一共可以 10 个包,已经非常够用了,一些图片我们还是会以 CDN 加载为主。

最开始我们需要在 manifest.json 开启分包支持。

manifest.json

1
2
3
4
5
6
7
{
"mp-weixin": {
"optimization": {
"subPackages": true
}
}
}
1
2
3
4
5
6
7
8
9
10
├── pages
│ └── index
│ ├── index

├── subpackage_other
│ └── notify
│ ├── list

├── manifest.json
└── pages.json

这个是我们的项目文件结构,pages 是主包目录,分包我也是放在项目根目录,这样子好理解很多,存储方式和主包是一样的。

pages.json

1
2
3
4
5
6
7
8
9
10
11
{
"pages": [{
"path": "pages/index/index"
}],
"subPackages": [{
"root": "subpackage_other",
"pages": [{
"path": "notify/list"
}]
}]
}

pages.json 也很简单,分包的内容要放到 subPackages 中,然后 root 是这个分包的根路径,pages 的配置和主包的 pages 是一样的,不过 path 不需要加上分包的根路径。

往上