项目技术栈
taro(V3+) + react(V16+) + mobx(4+) + taro-ui(V2+) + sass + TypeScript
注意:当别人启动你的taro项目不成功时,有可能是taro版本不一致导致!!对于版本问题,官网有明确解决方案
开始
1.安装taro脚手架
$ npm install -g @tarojs/cli
2.创建模板项目
taro init myApp
3.安装 Taro UI
$ cd myApp
$ npm install taro-ui --save-dev
再在app.scss文件里面全局引入一次taro-ui的组件样式即可
@import "~taro-ui/dist/style/index.scss"
使用分包加载
小程序的分包加载机制实际上是离线包和M页的一种结合机制,即你可以把代码划分成主包+N个分包,官方定义:
在小程序启动时,默认会下载主包并启动主包内页面,如果用户需要打开分包内某个页面,客户端会把对应分包下载下来,下载完成后再进行展示。
总结如下:
- 打开小程序,默认先加载主包
- 进入分包页面时,再加载对应分包
这样的好处是进入主包页面时,需要下载的代码量小了很多,白屏时间更短,体验更佳。
特性
- 1.7.3 及以上基础库开始支持,不支持的版本默认使用整包的方式
- 整个小程序所有分包大小不超过 4M,单个分包/主包大小不能超过 2M
- 分包数量目前没有限制,也就是说你可以放N个分包,甚至每个页面一个分包
- 入口页面/TAB页面必须在主包里
关于主包
- 第一次进入小程序,默认下载主包代码
- 分包以外的所有代码,都会被打入主包
- 分包内代码可以引用主包内代码
关于分包
- 因为存在资源依赖关系,微信的机制是先下载主包,后下载分包
- 分包目录不能在主包目录下面
- 分包可以引用自己包内、主包内的资源,不能引用其他分包内的资源
坑
- 小程序的打包机制仅仅是根据文件目录打包,分包内require/import的任何文件,只要不在同一个目录下面,都不会被打进分包,也就是说,类库及一些公共文件,只能放在主包里面,如果主包分包划分不好的话,主包的大小也很难降下来
- 安卓系统进入分包页面时,会出现一个丑陋的系统级的loading层,这一定程度上影响了安卓的体验
在taro中使用
在app.config.ts中加subPackages配置即可,注意是驼峰形式,微信小程序是subpackages
"subPackages": [
{
"root": "goodsModule",
"pages": [
"pages/goods/index",
]
}
]
完整截图: