当前位置: 首页 > news >正文

UniApp项目处理小程序分包

目前 uniApp也成为一种 App端开发的大趋势
因为在目前跨端 uniApp可以说相当优秀

可以同时兼容 H5 PC 小程序 APP 的技术 目前市场屈指可数
那么 说到微信小程序 自然就要处理分包 因为微信小程序对应用大小限制非常铭感
限制在2MB 超过之后就会无法真机调试与打包

不过需要注意的是 就算分包 确保每个包都不大于 2MB的情况下 如果主包加上其他包总和大于 20MB依旧会超过限制

不过不用担心 图片建议放在服务器上 别增加小程序的负担了 然后 一个包可以装非常多page页面 然后 10个包 一般的市场应用都能满足了

所以 分包固然好 但也不能为所欲为 只能说将容纳度提高了

说回到项目 目前所有的页面 都在pages中
所以 我们的主包自然就是 我们整个项目页面的主包
在这里插入图片描述
我们先打开项目跟目录的 manifest.json
打开源码视图
在这里插入图片描述
我们在下面找到 mp-weixin 这就是 微信相关的配置
我们在下面加上

"optimization":{"subPackages": true}

意思就是开启分包
在这里插入图片描述
然后 我们右键项目 跟目录 多创建几个 page包
在这里插入图片描述
这里 我创建了 pageA 和 pageB 两个包
在这里插入图片描述
然后 我们在 pageA中创建一个 vue 文件
在这里插入图片描述
就叫list吧
在这里插入图片描述
list.vue 编写代码如下

<template><view class="content">LIST组件</view>
</template><script>
</script><style>
</style>

pageB 中创建一个 map.vue
代码如下

<template><view class="content">MAP组件</view>
</template><script>
</script><style>
</style>

这样 整体的目录结构 就是这样的
在这里插入图片描述
但 现在 pageA 和 pageB都没有生效
我们打开 pages.json
在里面加个subPackages

"subPackages": [{"root": "pageA","pages": [{"path": "list","style": {"navigationBarTitleText": "列表"}}]},{"root": "pageB","pages": [{"path": "map","style": {"navigationBarTitleText": "集合"}}]}
],

我们配置了两个分包 pageA和pageB
然后声明了 它们下面的page 分包是 pageA的list 和 pageB下的map
一个包下面可以有多个page例如这样

{"root": "pageA","pages": [{"path": "list","style": {"navigationBarTitleText": "列表"}},{"path": "map","style": {"navigationBarTitleText": "集合"}}]
}

但我这里 为了简单点 两个包下面就都只写了一个界面
在这里插入图片描述
然后 我们pages中的 首页 index 编写代码如下

<template><view class="content"><button @click="Jump()">跳转</button></view>
</template><script>export default {data() {return {}},onLoad() {},methods: {Jump() {uni.navigateTo({url: "/pageA/list"})}}}
</script><style>*{margin: 0;padding: 0;}.content {height: 100vh;width: 100vw;position: relative;}
</style>

设置button按钮 然后点击事件 尝试向 pageA下的list界面跳转

我们尝试微信开发者工具运行
在这里插入图片描述
项目启动成功
在这里插入图片描述
我们点击按钮
套转也是非常顺利
在这里插入图片描述

相关文章:

  • HarmonyOS 开发之———应用程序入口—UIAbility的使用
  • Java学习--学生管理系统(残破版)
  • 微信小程序云开发教程——墨刀原型工具入门(Axure导入)
  • 【python】遵守 robots.txt 规则的数据爬虫程序
  • 汽车虚拟仿真技术的实现、应用和未来
  • PDF标准详解(二)——PDF 对象
  • 2024.3.2 训练记录(6)
  • 排序刷题12 -双向排序
  • Redis之一: 简介及环境安装搭建
  • CNN-LSTM-Attention混合神经网络归时序预测的MATLAB实现(源代码)
  • ESP-VO 论文阅读
  • Fastjson2 <== 2.0.26反序列漏洞
  • redis 为什么会阻塞
  • 二刷代码随想录算法训练营第七天 |454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和
  • Python 编辑工具 Jupyter notebook
  • “大数据应用场景”之隔壁老王(连载四)
  • create-react-app项目添加less配置
  • java中的hashCode
  • Laravel Mix运行时关于es2015报错解决方案
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 反思总结然后整装待发
  • - 概述 - 《设计模式(极简c++版)》
  • 力扣(LeetCode)22
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 前言-如何学习区块链
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • NLPIR智能语义技术让大数据挖掘更简单
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #define用法
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • %@ page import=%的用法
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (三)模仿学习-Action数据的模仿
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)Sql Server 保留几位小数的两种做法
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .net core 控制台应用程序读取配置文件app.config
  • .net 反编译_.net反编译的相关问题
  • .net 流——流的类型体系简单介绍
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .NET企业级应用架构设计系列之结尾篇
  • .Net下的签名与混淆
  • .NET与 java通用的3DES加密解密方法
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国
  • /deep/和 >>>以及 ::v-deep 三者的区别
  • @font-face 用字体画图标