目录
一、体验版
二、体积过大的解决方法
一、体验版
1、打开微信开发者工具——点击上传
出现弹窗后点击确认,然后填写版本号,比如1.0.0,然后点击上传
注意:上传体积不能超过2M,超过的话就删除掉一些不需要的,比如图片之类的。也有可能是你在运行到小程序模拟器的时候没有选择压缩代码
2、打开网站微信公众号——版本管理——开发管理——点击下拉框选择体验版
3、添加服务器域名
点击开发管理——开发设置——服务器域名——修改
填写正式服务器的地址,若有上传和下载,也要进行填写
(可以多个,直接跟在上一个域名后面就好)
这样就完成了体验版的上传啦
注意:有时候在手机上会出现一些调真机调试没有出现过的问题,可以尝试清除一下缓存(微信开发者工具的真机调试旁边的清缓存,全部都清除一下),有卡顿的现象就关掉微信开发在工具,关掉编辑器,重新运行一下;或者是打开体验版点击手机上右上角三点开调试试一下,查看哪里出现了问题(打开调试查看,若是没有问题就是可以啦,因为体验版还是有一些bug的)
二、体积过大的解决方法
上传的时候所示体积过大,不让上传,这里有几个解决办法:
1、你在运行到小程序模拟器——微信开发者工具的时候,没有选择压缩代码
2、删除不必要的静态图片、插件、组件
3、分包(uniapp分包的方法)
上面两个都比较简单而且使用完成后也基本都解决了问题,但有时候文件实在太大,前面两个实在解决不了,则使用第三个方法分包
官网:https://uniapp.dcloud.net.cn/collocation/pages.html#subpackages
每个使用分包小程序必定含有一个主包。所谓的主包,即放置默认启动页面/TabBar 页面,以及一些所有分包都需用到公共资源/JS 脚本;而分包则是根据开发者的配置进行划分。
在小程序启动时,默认会下载主包并启动主包内页面,当用户进入分包内某个页面时,会把对应分包自动下载下来,下载完成后再进行展示。此时终端界面会有等待提示。
目前整个小程序所有分包大小不超过 20M、单个分包/主包大小不能超过 2M
在进行分包的时候需要注意以下几点:
- 静态文件:分包下支持 static 等静态资源拷贝,即分包目录内放置的静态资源不会被打包到主包中,也不可在主包中使用
- js文件:当某个 js 仅被一个分包引用时,该 js 会被打包到该分包内,否则仍打到主包(即被主包引用,或被超过 1 个分包引用)
- 自定义组件:若某个自定义组件仅被一个分包引用时,且未放入到分包内,编译时会输出提示信息
第一步:先建立分包目录,与pages主包同级
第二步: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 | 是 | 无 | 进入页面后预下载分包的 |
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-weixin
、mp-qq
、mp-baidu
的分包优化
/* 快应用特有相关 */
"mp-weixin": {
/* 小程序特有相关 */
"appid": "wx4b26ecdd5e39a537",
"setting": {
"urlCheck": false
},
"usingComponents": true,
"optimization": {
"subPackages": true
}
},