明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
  博客园  :: 首页  :: 管理

uniapp如何分包 & 分包配置后无法读取static文件夹

Posted on 2022-09-27 17:18  且行且思  阅读(875)  评论(0编辑  收藏  举报
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一致