uniapp如何分包 & 分包配置后无法读取static文件夹
最近因为使用uniapp做小程序,所以后面在程序发布预览时,经常出现:微信小程序Error系统错误,source size 2126KB exceed max limit 2MB等问题;而我最初的解决方案是使用压缩工具的;但是在后来随着文件图片增多,这种方案的弊端就很明显了;故而,就想到了分包。1.什么是分包?因小程序有体积和资源加载限制,各家小程序平台提供了分包方式,优化小程序的下载和启动速度。
·
1. 为什么会使用uniapp分包?
最近因为使用uniapp做小程序,所以后面在程序发布预览时,经常出现:微信小程序Error系统错误,source size 2126KB exceed max limit 2MB等问题;
…
而我最初的解决方案是使用压缩工具的;
…
但是在后来随着文件图片增多,这种方案的弊端就很明显了;
…
故而,就想到了 分包。
2. 分包文件目录配置结构:
┌─pages // 根文件
│ ├─index
│ │ └─index.vue
│ ├─mine
│ │ └─mine.vue
│ ├─home
│ │ └─home.vue
│ └─login
│ └─login.vue
│
├─packagePages // 包 - 即就是你提取出来的页面及数据
│ ├─static // 当前包所依赖的资源
│ └─pages // 当前包的页面文件
│ ├─index
│ │ └─index.vue
│ ├─other
│ │ └─other.vue
│
├─pagesB // 可以分多个包文件
│ ├─static
│ └─detail
│ └─detail.vue
│
├─static // 项目的主资源文件夹
├─main.js // 下面的就不说了
├─App.vue
├─manifest.json
└─pages.json
3. pages 配置详解:
// pages.json
{
"pages":[{ // 与默认配置一致
"path": "pages/index",
"style": {
"navigationStyle": "custom"
}
}],
"subPackages":[{
"root": "packagePages", // 当前包的根目录文件
"pages":[{ // 当前包的页面配置
"path": "pages/index",
}]
}],
"preloadRule": {
"packagePages/index/index": {// 分包中的主目录
"network": "all",// 默认all,即适用所有网络
"packages": ["__APP__"]// 进入packagePages/index/index后,加载整个项目
}
},
}
已知问题:分包配置后无法读取static文件夹
如果你发现你分包后,在包文件下找不到 static ,那么你可能是将static文件配置错了。
解决方法:
static 在配置文件 packagePages 下,
所以,你这里的 root 根文件名 必须 和 packagePages一致
uniapp 官网 subPackages 分包说明
更多推荐
已为社区贡献1条内容
所有评论(0)