【一步步开发AI运动小程序】十四、主包超出2M大小限制,如何将插件分包发布?
随着人工智能技术的不断发展,阿里体育等IT大厂,推出的“乐动力”、“天天跳绳”AI运动APP,让云上运动会、线上运动会、健身打卡、AI体育指导等概念空前火热。那么,能否将这些在APP成功应用的场景搬上小程序,分享这些概念的红利呢?本系列文章就带您一步一步从零开始开发一个AI运动小程序,本系列文章将使用“云智AI运动识别小程序插件”,请先行在微信服务市场或官网了解详情。
一、小程序的程序包限制
引用插件后,导致程序包超出2M的限制的问题,是我们插件广大调用者,拿到插件后最常咨询的问题,插件由于识别引擎代码量较大,所以占用的空间确实偏大,但我们可以通过分包的方案来轻松解决这个问题。下面我们就来看如何实现分包,要使用分包之前,请先阅读官方分包文档https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages.html
二、插件分包建议方案
我们建议各开发者,将插件及运动识别相关组件、页面放置到一个独立的分包中,如module-sport,并做适当的分包预加载配置,这样便可以让运动相关功能代码包,既不占用主包和其它子包的代码空间,又兼顾加载性能。特别是已有应用集成,就不会影响任何现有功能了。
三、在uni-app中实现分包
3.1、划立运动分包
在项目的中新建一个名module-sport的文件夹,做为分包文件夹,将所有AI运动相关的组件、页面、JS文件、静态资源全部放入其中。

3.2、在mainifest.json文件中配置分包优化
用记事本或其它编辑器(HBuilderX不能编辑mainifest.json)编辑项目的mainifest.json文件,找到mp-weixin节,添加分包优化选项,如下图所示:
"mp-weixin" : {
"appid" : "wx6130e578c4a26a1a",
"setting" : {
"urlCheck" : false,
"minified" : true,
"postcss" : false
},
"usingComponents" : true,
"optimization" : {
"subPackages" : true //开启分包优化
}
}
3.3、在pages.json文件中注册分包
"subPackages": [{
"root": "module-sport",
"pages": [{
"path": "pages/sport",
"style": {
"navigationBarTitleText": "运动检测演示",
"enablePullDownRefresh": false
}
}...],
"plugins": {
//将插件放在子包中引用,则插件将占用子包空间
"aiSport": {
"version": "1.0.16",
"provider": "wx6130e578c4a26a1a"
}
}
}]
3.4 在pages.json加入运动分包预加载,加速包下载
"preloadRule": {
"pages/welcome": {
"network": "all",
"packages": ["module-sport"]
}
},
到此便实现了将运动功能分包及加载优化,我们为您准备了完整的分包Demo参考项目,插件调用用户请联系我们索取。
四、在原生小程序中实现分包
由于原生的分包配置相对更简便,操作也大同小异,按照官方文档操作即可,就不在此赘述了,插件调用用户也可直接向我们索引取原生版的分包Demo参考项目。
五、分包效果
接下来我们看看分包前与分包后的代码大小对比,如下两图所示:


好了分包就为您介绍到,下篇我们将为您介绍,运动识别时如何判断人体远近问题,敬请期待...
【一步步开发AI运动小程序】十四、主包超出2M大小限制,如何将插件分包发布?的更多相关文章
- 开发一个微信小程序教程
一.注册小程序账号 1.进入微信公众平台(https://mp.weixin.qq.com/),注册小程序账号,根据提示填写对应的信息即可. 2.注册成功后进入首页,在 小程序发布流程->小程序 ...
- 开发一个微信小程序项目教程
一.注册小程序账号 1.进入微信公众平台(https://mp.weixin.qq.com/),注册小程序账号,根据提示填写对应的信息即可.2.注册成功后进入首页,在 小程序发布流程->小程序开 ...
- 如何快速地开发一个微信小程序
如何快速地开发一个微信小程序呢?我觉得作为初学者,最好能有一个模板,然后改这个模板. 同样作为初学者,刚开始的时候我有下面的几个问题,后来通过问同学,我弄清楚了. 微信小程序可以连接MySQL或者Sq ...
- Java可视化日历(Date类、DATe Format类、Calendar类综合运用),开发可视化日历小程序
Java时间日期类综合运用,开发可视化日历小程序 由键盘输入指定格式的日期,打印这个月的日历 1.代码 import java.text.DateFormat; import java.text.Pa ...
- 全栈开发工程师微信小程序-中(下)
全栈开发工程师微信小程序-中(下) 微信小程序视图层 wxml用于描述页面的结构,wxss用于描述页面的样式,组件用于视图的基本组成单元. // 绑定数据 index.wxml <view> ...
- 全栈开发工程师微信小程序-中(中)
全栈开发工程师微信小程序-中(中) 开放能力 open-data 用于展示微信开放的数据 type 开放数据类型 open-gid 当 type="groupName" 时生效, ...
- 全栈开发工程师微信小程序-中
全栈开发工程师微信小程序-中 多媒体及其他的组件 navigator 页面链接 target 在哪个目标上发生跳转,默认当前小程序,可选值self/miniProgram url 当前小程序内的跳转链 ...
- 全栈开发工程师微信小程序-上(下)
全栈开发工程师微信小程序-上(下) icon 图标 success, success_no_circle, info, warn, waiting, cancel, download, search, ...
- 全栈开发工程师微信小程序-上(中)
全栈开发工程师微信小程序-上(中) width: 750rpx; 750rpx代表与屏幕等宽,rpx的缩写responsive pixel,这个单位是可以根据屏幕大小进行自适应调整的像素单位. 小程序 ...
- 全栈开发工程师微信小程序 - 上
全栈开发工程师微信小程序-上 实现swiper组件 swiper 滑块视图容器. indicator-dots 是否显示面板指示点 false indicator-color 指示点颜色 indica ...
随机推荐
- Ubuntu 安装 Docker Desktop
介绍 Docker 有两种版本:Docker Desktop 和 Docker Engine (也称作 Docker CE).Docker Desktop 是带图形界面的版本,非常适合需要在桌面环境中 ...
- 肉夹馍(Rougamo)4.0.1 异步方法变量调试修复与IoC系列扩展
肉夹馍(https://github.com/inversionhourglass/Rougamo),一款编译时AOP组件,无需在应用启动时进行初始化,也无需繁琐的配置:支持所有种类方法(同步和异步. ...
- 几步轻松定制私人AI助手
这两年大模型的发展持续火热,以至于许多资本和学者认为AI出现了泡沫,根本原因还是因为大模型目前还没有出现能够结合行业切实落地的应用. 我才不关注泡沫不泡沫呢,我只关注大模型能给我带来哪些帮助即可.大模 ...
- AI将诗意装进口袋!合合信息扫描全能王“扫描书籍”功能优化上线
人间最美四月天,正是读书好时节.4月20日至23日,正值"世界读书日"之际,合合信息旗下扫描全能王联合上海首家图像小说主题书店--安古莱姆书店,共同发起"春天正是读书天& ...
- ASP.NET Core C# 反射 & 表达式树 (第一篇)
前言 以前就写过几篇关于反射和表达式树的学习笔记, 但是写的很乱. 最近常用到反射和表达式树, 所以特别写一篇做一个整理吧. 泛型和反射 表达式树 学习笔记 c# 常用反射和表达式树整理 反射在项目中 ...
- Tomcat——idea集成本地Tomcat
IDEA 集成本地Tomcat 添加配置 添加本地Tomcat服务器 配置本地Tomcat路径 部署项目 在 webapp 中添加一个简单的页面作 ...
- Tomcat——配置、部署
配置 修改启动端口号:conf/sever.xml HTTP协议默认端口号为80,若将Tomcat端口号改为80,则将来访问Tomcat时,不用输入端口号 端口号改 ...
- QT原理与源码分析之QT5原理与源码分析视频课程 补天云QT技术培训专家
QT原理与源码分析之QT5原理与源码分析视频课程 补天云QT技术培训专家 以下是<< QT5原理与源码分析视频课程>>的完整目录. 第1章 准备 第1节 您可以学到什么? 第2 ...
- USB协议详解第1讲(核心概念通俗理解)
0.概括 USB协议学习中最重要几个概念如下,没有提及的就是对USB协议学习中不重要的或者编程不需要用到的.大家也不用着急,概念必须要学会,否则都不知道下面这些东西是什么还学什么通用串行总线协议,大家 ...
- python:批量删除指定文件目录中多个文件
#coding:utf-8# 任务需要,需要删除多余的文件,手动删除太麻烦,几行python搞定 import os from glob import glob path = r"/medi ...