uniapp 项目分包
uniapp 项目分包方法
在 uniapp 中实现分包可以有效优化应用加载速度,减少主包体积。以下是分包的具体实现方式:
配置 manifest.json 文件
在项目根目录的 manifest.json 文件中添加分包配置:
{
"mp-weixin": {
"optimization": {
"subPackages": true
}
}
}
修改 pages.json 结构
在 pages.json 中通过 subPackages 字段定义分包:
{
"pages": [
{"path": "pages/index/index", "style": {...}}
],
"subPackages": [
{
"root": "packageA",
"pages": [
{"path": "page1/page1", "style": {...}},
{"path": "page2/page2", "style": {...}}
]
}
]
}
分包目录结构规范

推荐按以下方式组织分包目录:
- pages/ # 主包页面
- packageA/ # 分包A根目录
- pages/ # 分包A页面
- static/ # 分包A专用静态资源
- packageB/ # 分包B根目录
分包预加载配置
在 pages.json 中可配置预加载规则:

{
"preloadRule": {
"pages/index/index": {
"network": "all",
"packages": ["packageA"]
}
}
}
注意事项
分包路径不能相互嵌套,每个分包必须有独立的 root 目录
分包内可以包含自己的组件和静态资源,但公共组件应放在主包
分包总大小限制:微信小程序要求所有分包不超过 20MB,单个分包不超过 2MB
分包异步化处理
对于更复杂的场景,可使用分包异步化技术:
// 在需要时动态加载分包
wx.loadSubpackage({
name: 'packageA',
success(res) {
console.log('分包加载成功')
}
})
通过合理规划分包结构,能显著提升应用性能,特别是在小程序平台上的首屏加载速度。






