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

本文介绍了在uniapp中使用分包的原因,主要是为了解决小程序体积过大导致的加载问题。作者详细展示了分包的文件目录结构,并提供了`pages.json`配置示例,包括分包页面和预加载规则。同时,文章指出分包后static资源无法读取的常见错误,强调了static目录应在每个分包内正确配置。最后,提供了官方文档链接以供参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值