目录

一、体验版 

二、体积过大的解决方法


一、体验版 

1、打开微信开发者工具——点击上传

uniapp不能直接调整微信开发者工具 uniapp开发者中心_分包

 出现弹窗后点击确认,然后填写版本号,比如1.0.0,然后点击上传

uniapp不能直接调整微信开发者工具 uniapp开发者中心_服务器_02

 注意:上传体积不能超过2M,超过的话就删除掉一些不需要的,比如图片之类的。也有可能是你在运行到小程序模拟器的时候没有选择压缩代码

 2、打开网站微信公众号——版本管理——开发管理——点击下拉框选择体验版

uniapp不能直接调整微信开发者工具 uniapp开发者中心_上传_03

3、添加服务器域名

点击开发管理——开发设置——服务器域名——修改

填写正式服务器的地址,若有上传和下载,也要进行填写

(可以多个,直接跟在上一个域名后面就好) 

uniapp不能直接调整微信开发者工具 uniapp开发者中心_uni-app_04

 这样就完成了体验版的上传啦

注意:有时候在手机上会出现一些调真机调试没有出现过的问题,可以尝试清除一下缓存(微信开发者工具的真机调试旁边的清缓存,全部都清除一下),有卡顿的现象就关掉微信开发在工具,关掉编辑器,重新运行一下;或者是打开体验版点击手机上右上角三点开调试试一下,查看哪里出现了问题(打开调试查看,若是没有问题就是可以啦,因为体验版还是有一些bug的)

 

uniapp不能直接调整微信开发者工具 uniapp开发者中心_分包_05

uniapp不能直接调整微信开发者工具 uniapp开发者中心_uni-app_06

二、体积过大的解决方法

上传的时候所示体积过大,不让上传,这里有几个解决办法:

1、你在运行到小程序模拟器——微信开发者工具的时候,没有选择压缩代码

2、删除不必要的静态图片、插件、组件

3、分包(uniapp分包的方法)

上面两个都比较简单而且使用完成后也基本都解决了问题,但有时候文件实在太大,前面两个实在解决不了,则使用第三个方法分包

官网:https://uniapp.dcloud.net.cn/collocation/pages.html#subpackages

每个使用分包小程序必定含有一个主包。所谓的主包,即放置默认启动页面/TabBar 页面,以及一些所有分包都需用到公共资源/JS 脚本;而分包则是根据开发者的配置进行划分。

在小程序启动时,默认会下载主包并启动主包内页面,当用户进入分包内某个页面时,会把对应分包自动下载下来,下载完成后再进行展示。此时终端界面会有等待提示。

目前整个小程序所有分包大小不超过 20M、单个分包/主包大小不能超过 2M

在进行分包的时候需要注意以下几点:

  1. 静态文件:分包下支持 static 等静态资源拷贝,即分包目录内放置的静态资源不会被打包到主包中,也不可在主包中使用
  2. js文件:当某个 js 仅被一个分包引用时,该 js 会被打包到该分包内,否则仍打到主包(即被主包引用,或被超过 1 个分包引用)
  3. 自定义组件:若某个自定义组件仅被一个分包引用时,且未放入到分包内,编译时会输出提示信息

第一步:先建立分包目录,与pages主包同级

uniapp不能直接调整微信开发者工具 uniapp开发者中心_服务器_07

 

第二步:pages.json添加subpackages分包加载配置

其中subpackages是的属性如下

属性

类型

是否必填

描述

root

String


子包的根目录

pages

Array


子包由哪些页面组成,参数同 pages

{
	"pages": [{
		"path": "pages/index/index",
		"style": {
			"navigationBarTitleText": "%pages.name%",
			"enablePullDownRefresh": false
		}
	}, {
		"path": "pages/word/index",
		"style": {
			"navigationBarTitleText": "%pages.word%",
			"enablePullDownRefresh": false
		}
	}, {
		"path": "pages/me/index",
		"style": {
			"navigationBarTitleText": "",
			"enablePullDownRefresh": false
		}
	}],
	"subpackages": [{
		"root": "mepages",
		"pages": [{
			"path": "pages/login/index",
			"style": {
				"navigationBarTitleText": "",
				"enablePullDownRefresh": false
			}
		}]
	}, {
		"root": "pagesBreack",
		"pages": [{
			"path": "bracket",
			"style": {
				"navigationBarTitleText": "资料",
				"enablePullDownRefresh": false
			}
		}, {
			"path": "message",
			"style": {
				"navigationBarTitleText": "留言反馈",
				"enablePullDownRefresh": false
			}
		}]
	}],
}

若分包的页面比较大,进入页面再加载可能需要一段时间,那我们可以使用分包预载配置preloadRule来优化速度

配置preloadRule后,在进入小程序某个页面时,由框架自动预下载可能需要的分包,提升进入后续分包页面时的启动速度。它的属性如下:

字段

类型

必填

默认值

说明

packages

StringArray



进入页面后预下载分包的 root 或 name__APP__ 表示主包。

network

String


wifi

在指定网络下预下载,可选值为:all(不限网络)、wifi(仅wifi下预下载)

注意:app的分包,同样支持preloadRule,但网络规则无效。 

{
   "preloadRule": {
		"mepages/pages/login/index": {
			"network": "all",
			"packages": ["__APP__"]
		},
		"pagesBreack/bracket": {
			"network": "all",
			"packages": ["mepages"]
		}
	}
}

 

第三步:配置manifest.json中的源码视图

在对应平台的配置(manifest.json)下添加"optimization":{"subPackages":true}开启分包优化

目前只支持mp-weixinmp-qqmp-baidu的分包优化

/* 快应用特有相关 */
	"mp-weixin": {
		/* 小程序特有相关 */
		"appid": "wx4b26ecdd5e39a537",
		"setting": {
			"urlCheck": false
		},
		"usingComponents": true,
		"optimization": {
			"subPackages": true
		}
	},