uni-app 解决项目包过大的问题

542 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第7天,查看详情

遇到的问题: uni-app开发小程序,项目包过大,导致无法发版

开发背景: 1. 小程序有所限制,整个小程序所有分包大小不超过 20M 单个分包/主包大小不能超过 2M 对小程序进行分包 2. 由于项目不断更新迭代,经常不经意地就出现了主包或者单包过大的情况

那么,我们怎么避免这个问题呢,以下是我在开发过程中所用到的一些方法

1. 首先学会检查各个包的大小

在基本项目 > 代码依赖分析 > 查看各个的大小

image.png

2. 当已经出现主包过大了的情况

image.png

  1. 把图片放在服务器上,将本地的图片删除,减少内存
<image src="http://********/cloud/applet/my/myBgc.png" class="myBgc"></image>
  1. 分包 在pages.json文件建分包

image.png

{
	"easycom": {
		"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
	},
	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
		{
			"path": "pages/index/index",
			"style": {
				"navigationBarTitleText": "首页",
				"navigationBarTextStyle": "#FFFFFF",
				"navigationBarBackgroundColor": "#299BD6"
			}
		},
		
	],
	"subPackages": [{
			"root": "car",
			"pages": [{
					"path": "index/index",
					"style": {
						"navigationBarTitleText": "车辆预约",
						"navigationBarTextStyle": "#FFFFFF",
						"navigationBarBackgroundColor": "#299BD6"
					}
				},
			]
		},
		{
			"root": "working",
			"pages": [{
				"path": "working/working",
				"style": {
					"navigationBarTitleText": "uni-app"
				}
			}]
		},
		{
			"root": "warehouse",
			"pages": [
			{
				"path": "carApprove/carApprove",
				"style": {
					"navigationBarTitleText": "车辆授权",
					"navigationBarTextStyle": "black",
					"navigationBarBackgroundColor": "#FFFFFF"
				}
			}
			]
		},
		{
			"root": "supplyChain",
			"pages": [{
				"path": "supplyChain/supplyChain",
				"style": {
					"navigationBarTitleText": "uni-app"
				}
			}]
		},
		{
			"root": "reportManagement",
			"pages": [{
				"path": "index/index",
				"style": {
					"navigationBarTitleText": "报表管理",
					"navigationBarTextStyle": "black",
					"navigationBarBackgroundColor": "#FFFFFF"
				}
			}
			]
		}
		
	]
}

  1. 分包 运行时压缩代码 运行 > 运行小程序模拟器 > 运行时是否压缩代码 详情 > 本地设置 > 上传代码时是否压缩样式

image.png

image.png

  1. 避免代码冗余,把能封装的都封装成组件,在页面上引用

  2. 注意: 主包不能拿到分包里面的资源

22fdbca1fb57bc19f47741581bd9450.png