注意事项
subPackages 里的 pages 的路径是 root 下的相对路径,不是全路径。
微信小程序每个分包的大小是2M,总体积一共不能超过20M。
支付宝小程序每个分包的大小是2M,总体积一共不能超过8M。
QQ小程序每个分包的大小是2M,总体积一共不能超过24M。
抖音小程序每个分包的大小是2M,总体积一共不能超过16M(抖音小程序基础库 1.88.0 及以上版本开始支持,抖音小程序开发者工具请使用大于等于 2.0.6 且小于 3.0.0 的版本)。
分包下支持独立的 static 目录,用来对静态资源进行分包。
uni-app 内支持对微信小程序、QQ小程序、百度小程序、支付宝小程序、抖音小程序(HBuilderX 3.0.3+)、快手小程序分包优化,即将静态资源或者js文件放入分包内不占用主包大小。详情请参考:关于分包优化的说明
分包优化与按需注入
"optimization": {
"subPackages": true // 开启分包优化
},
"runmode": "liberate", // 资源释放模式【开启分包优化后的配置】
"lazyCodeLoading": "requiredComponents" // 启用按需注入
分包优化的说明
在对应平台的配置下添加 "optimization": { "subPackages":true } 开启分包优化。
目前只支持 mp-weixin、mp-qq、mp-baidu、mp-toutiao、mp-kuaishou 的分包优化。
分包优化具体逻辑:
静态文件:分包下支持 static 等静态资源拷贝,即分包目录内放置的静态资源不会被打包到主包中,也不可在主包中使用。
JS 文件:当某个 js 仅被一个分包引用时,该 js 会被打包到该分包内,否则仍打到主包(即被主包引用,或被超过 1 个分包引用)。
自定义组件:若某个自定义组件仅被一个分包引用时,且未放入到分包内,编译时会输出提示信息。
分包预加载配置
// 分包预加载配置
"preloadRule": {
"pages/index/index": // 页面路径
// 页面的预下载配置
{
"network": "all", // all(不限网络) wifi(仅wifi下预下载)
"packages": ["pagesOther"] // 预下载分包的 root 或 name。__APP__ 表示主包
}
},
官网文档:请点击这里