uniapp开发微信小程序分包处理实录

news2025/1/13 10:01:05

        uniapp开发微信小程序上传代码时可能会遇到项目过大问题,今天就结合自己的实际操作简单记录下如何处理项目代码超出限制问题。
        常用的操作就是将项目中的图片访问由本地访问修改为网络访问,微信开发者工具上传代码时勾选相关的压缩文件选项等,个人感觉最有效的还是分包处理,分包的体积限制如下:

分包的体积限制
整个小程序所有分包体积不能大于16M(主包+分包,也有说不能超过20M,没搞过那么大的没有试过)
单个分包/主包大小不能超过2M

        我的项目中引入了uView2.0和uni-im插件,所以不做处理的话指定超过2M,下面就说下uniapp开发进行分包的处理方式。
        1.hbuilder中添加如下内容:

"optimization":{
			"subPackages":true
		}

        添加路径:manifest.json–源码设置–mp-weixin节点最后添加上面内容。
在这里插入图片描述
        2.page.json中添加分包配置信息
        pages节点后面添加subpages节点,配置内容如下:

	  "subPackages": [{
	    "root": "subpages",
	    "pages": [
	    // 此处为pages注册的子页面路径,此处省略子页面的样式配置
		{
		    "path" : "dynamic/dynamic",
		    "style" :                                                                                    
		    {
		        "navigationBarTitleText": "",
		        "enablePullDownRefresh": false
		    }
		}
]
	  }
	  ,{
		  "root": "uni_modules",
		  	    "pages": [
		  	    // 此处为uni_modules注册的子页面路径,分别为会话列表和聊天页面
		  		{
		  		    "path" : "uni-im/pages/index/index",
		  		    "style" :                                                                                    
		  		    {
		  		        "navigationBarTitleText": "",
		  		        "enablePullDownRefresh": false
		  		    }
		  		},
				{
				    "path": "uni-im/pages/chat/chat",
				    "style": {
				        "enablePullDownRefresh": false,
				        "maxWidth": "960",
				        "navigationBarTitleText": ""
				    }
				}
		  ]
		
	  }
	  ]

        项目中除了tabbar相关的首页和我的页面,其余业务代码都放放到的subpages文件夹中。由于项目中引入了uView2.0和uni-im插件,单独将插件安装目录uni_modules作为一个子包,配置方式同业务代码都是配置在subpages节点中。
        完整版page.json如下

{
	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
		{
			"path": "pages/index/index",
			"style": {
				"navigationBarTitleText": "漂流battle"
			}
		}
        ,{
            "path" : "pages/mine/mine",
            "style" :                                                                                    
            {
                "navigationBarTitleText": "我的",
                "enablePullDownRefresh": false
            }
            
        }
    ],
	  "subPackages": [{
	    "root": "subpages",
	    "pages": [
	    // 此处为pages注册的子页面路径,此处省略子页面的样式配置
		{
		    "path" : "dynamic/dynamic",
		    "style" :                                                                                    
		    {
		        "navigationBarTitleText": "",
		        "enablePullDownRefresh": false
		    }
		}
]
	  }
	  ,{
		  "root": "uni_modules",
		  	    "pages": [
		  	    // 此处为uni_modules注册的子页面路径,分别为会话列表和聊天页面
		  		{
		  		    "path" : "uni-im/pages/index/index",
		  		    "style" :                                                                                    
		  		    {
		  		        "navigationBarTitleText": "",
		  		        "enablePullDownRefresh": false
		  		    }
		  		},
				{
				    "path": "uni-im/pages/chat/chat",
				    "style": {
				        "enablePullDownRefresh": false,
				        "maxWidth": "960",
				        "navigationBarTitleText": ""
				    }
				}
		  ]
		
	  }
	  ],
	"globalStyle": {
		"navigationBarTextStyle": "black",
		"navigationBarTitleText": "uni-app",
		"navigationBarBackgroundColor": "#F8F8F8",
		"backgroundColor": "#F8F8F8"
	},
	"uniIdRouter": {},
	"tabBar": {
	  "list": [{
	      "iconPath": "/static/index.png",
	      "selectedIconPath": "/static/index_select.png",
	      "text": "首页",
	      "pagePath": "pages/index/index"
	    },
	    {
	      "iconPath": "/static/mine.png",
	      "selectedIconPath": "/static/mine_select.png",
	      "text": "我的",
	      "pagePath": "pages/mine/mine"
	    }
	  ]
	},
	"easycom": {
	  // 下载安装的方式需要前面的"@/",npm安装的方式无需"@/"
	  "^u-(.*)": "@/uni_modules/uview-ui/components/u-$1/u-$1.vue"
	  // npm安装方式
	  // "^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
	}
}

项目结构如下:
在这里插入图片描述

        处理完成之后看下分包大小:
在这里插入图片描述
        可以看出已经正常进行分包,可以正常上传代码进行发布!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/435977.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CV开启大模型时代!谷歌发布史上最大ViT:220亿参数,视觉感知力直逼人类

ViT模型何时才能破万亿? Transformer无疑是促进自然语言处理领域繁荣的最大功臣,也是GPT-4等大规模语言模型的基础架构。 不过相比语言模型动辄成千上万亿的参数量,计算机视觉领域吃到Transformer的红利就没那么多了,目前最大的…

《华为机试》——MP3光标位置 及 洗牌

本期,我给大家带来以下两个题目的讲解: 1、《华为机试》——MP3光标位置 (中等)2、 2017年校招真题——洗牌 (简单) 以上两个题的难度属于我也给大家标注出来了,接下来,我们一起去…

利用chatgpt处理Excel数据

一 前言 以前用chatgpt主要做问答,这次加入星球学习到了如何用chatgpt处理Excel,虽然现在处理起来还不是很方便,用熟悉了(主要是熟悉提示词),处理起来会越来越快的。 二 准备工作 一个可用的chatgpt账号&…

针对jar和vue的一键自动化部署工具,界面友好操作简单

easy-jenkins是一款对vue和jar的部署工具,操作简单,实行一键部署,内部结构采用流水线形式架构,每次部署,时时提供部署过程,部署记录,界面友好简洁,使用方便,符合用户常规…

HTML学习(5)Canvas绘图

文章目录 HTML5 CanvasHTML5 内联SVG HTML5 Canvas 使用 Canvas 进行绘图工作&#xff0c;Canvas元素用于在网页上绘制图片。 创建一个Canvas的元素&#xff1a; <canvas id"myCanvas" width"200" height"100"></canvas>但是Canv…

设计模式 -- 装饰模式

前言 月是一轮明镜,晶莹剔透,代表着一张白纸(啥也不懂) 央是一片海洋,海乃百川,代表着一块海绵(吸纳万物) 泽是一柄利剑,千锤百炼,代表着千百锤炼(输入输出) 月央泽,学习的一种过程,从白纸->吸收各种知识->不断输入输出变成自己的内容 希望大家一起坚持这个过程,也同…

操作系统原理 —— 什么是中断?(四)

我们先来看看早期的计算机的工作流程&#xff1a; 如上图&#xff0c;在早期的计算机假设有三个程序需要执行&#xff0c;执行顺序是&#xff1a;先执行程序1&#xff0c;等待程序1结束之后&#xff0c;再开始执行程序2&#xff0c;以此类推&#xff0c;所以它们是串行执行的…

使用ChatGPT编写Python接口的指南

使用ChatGPT编写Python接口的指南 ChatGPT是一种自然语言处理技术&#xff0c;可以用于各种文本生成任务。在本文中&#xff0c;我们将介绍如何使用Python编写ChatGPT的接口&#xff0c;并提供一些有用的技巧和示例代码。 步骤一&#xff1a;安装所需的库 在编写ChatGPT接口…

数据仓库的概念及与数据库等对比

1、什么是数据仓库&#xff1f; 数据仓库是信息&#xff08;对其进行分析可做出更明智的决策&#xff09;的中央存储库。通常&#xff0c;数据定期从事务系统、关系数据库和其他来源流入数据仓库。业务分析师、数据工程师、数据科学家和决策者通过商业智能 (BI) 工具、SQL 客户…

SOLIDWORKS机械设计如何控制尺寸?

机械设计过程中的尺寸把握&#xff0c;实际就是一个人的设计能力的体现&#xff0c;如果你不具备相应的设计能力&#xff0c;那所谓的尺寸把握是做不好的。所以今天在这里分享一套基本的设计流程和方法给大家&#xff0c;只有切实可行的方法才能打通你走向完善的专业技能之路。…

测试老鸟总结,性能测试如何做?常见异常有哪些?解决方法...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 常见的性能异常 …

1.Introduction: Hands-on Graph Neural Networks

PyG&#xff08;PyTorch Geometric&#xff09;是一个基于PyTorch的库&#xff0c;用于轻松编写和训练图形神经网络&#xff08;GNN&#xff09;&#xff0c;用于与结构化数据相关的广泛应用。博客好久没有更新了&#xff0c;恰逢1024创作纪念日&#xff0c;浅浅更新一下吧。 这…

logging模块

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起探讨和分享Linux C/C/Python/Shell编程、机器人技术、机器学习、机器视觉、嵌入式AI相关领域的知识和技术。 logging模块 日志级别修改logging模块默认行为logger对象 专栏&#xff1a;《python从入门到实战》 日…

MACH SYSTEMS网关:SAE J2716(SENT) 转 RS-232/CAN

双通道SAE J2716&#xff08;SENT&#xff09;至RS-232/CAN总线网关&#xff0c;具有两个双向SENT通道和RS-232&#xff08;SENT-RS232&#xff09;或CAN总线&#xff08;SENT-CAN&#xff09;接口。两种变体还提供两个模拟输出&#xff0c;可以直接将输入SENT数据转换为模拟电…

VMware SD-WAN 5.1 - 软件定义的 WAN

请访问原文链接&#xff1a;https://sysin.org/blog/vmware-sd-wan-5/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org 产品概述 软件定义的 WAN (SD-WAN) SD-WAN 的功能特性 简化的 SD-WAN 了解软件定义的 WAN (SD-WAN) 的概…

Java后台POST请求以application/x-www-form-urlencoded;charset=utf-8格式以及raw的JSON的请求方式

一、Java后台POST请求以application/x-www-form-urlencoded; 1、引入依赖&#xff1a; <dependency><groupId>commons-httpclient</groupId><artifactId>commons-httpclient</artifactId><version>3.1</version> </dependency&g…

Gartner发布中国容器管理平台供应商识别指南,灵雀云实力入选

近日&#xff0c;国际权威分析机构Gartner发布了《Tool: Vendor Identification for Container Management in China》报告&#xff0c;该报告旨在帮助IT基础架构领域相关人员选择在中国提供容器管理服务、解决方案和平台的供应商&#xff0c;为容器产品选型提供专业指导。灵雀…

工作流调度系统 Azkaban使用方法大全(二)

1 案例 1.1 Hello World first.project azkaban-flow-version: 2.0first.flow nodes:- name: jobAtype: commandconfig:command: echo "hi 大佬"打包为zip&#xff0c;即可上传 name&#xff1a;job名称 type&#xff1a;job类型。command表示要执行作业的方式…

《Java8实战》第7章 并行数据处理与性能

7.1 并行流 Stream 接口能非常方便地并行处理其元素&#xff1a;对收集源调用 parallelStream 方法就能将集合转换为并行流。并行流就是一个把内容拆分成多个数据块&#xff0c;用不同线程分别处理每个数据块的流。 public long sequentialSum(long n) { return Stream.itera…

跌倒检测和识别1:跌倒检测数据集(含下载链接)

跌倒检测和识别1&#xff1a;跌倒检测数据集(含下载链接) 目录 跌倒检测和识别1&#xff1a;跌倒检测数据集(含下载链接) 1. 前言 2. 跌倒姿态&#xff1a;站立-弯腰(蹲下)-躺下 3. 跌倒检测数据集&#xff1a; &#xff08;1&#xff09;Fall-Down-Det-v1 &#xff08;2…