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

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 分包说明

  • 11
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Uniapp分包配置主要在pages.json文件中进行。可以通过在pages.json中的subPackages字段进行配置。例如,可以按照以下方式配置分包: { "subPackages": [ { "root": "pages/subPack", "pages": [ { "path": "list", "style": { "navigationBarTitleText": "", "enablePullDownRefresh": false } }, { "path": "tab", "style": { "navigationBarTitleText": "", "enablePullDownRefresh": false } } ] } ] } 在这个例子中,我们在subPackages字段中定义了一个分包,指定了它的根目录为"pages/subPack"。然后在pages数组中定义了该分包中的页面,比如"list"和"tab"。每个页面可以定义一些样式配置,比如导航栏标题和下拉刷新等。 除了在pages.json中配置分包规则外,还可以使用preloadRule字段进行分包预加载的配置。例如,可以按照以下方式配置分包的预加载: { "preloadRule": { "pages/index/index": { "network": "all", "packages": ["pages/subPack"] } } } 在这个例子中,我们定义了一个分包的预加载规则,当进入"pages/index/index"页面时,会预先下载"pages/subPack"分包。可以通过network字段指定在哪种网络环境下进行预加载,比如"all"表示不限网络,"wifi"表示仅在Wi-Fi下预加载。 需要注意的是,不同的小程序平台对分包的大小有一定的限制。例如,微信小程序每个分包的大小不能超过2M,总体积不能超过20M。具体的限制可以根据不同的小程序平台进行调整。 综上所述,Uniapp分包配置可以通过pages.json文件中的subPackages字段进行配置,并且可以通过preloadRule字段进行分包的预加载配置分包的大小限制可以根据不同的小程序平台进行调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一年两个

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

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

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

打赏作者

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

抵扣说明:

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

余额充值