taro+react实战经验总结

296 阅读2分钟

项目技术栈

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",
      ]
    }
  ]

完整截图:

bda27c7416d5bd6d9a5ac3ef139f69dfe9b20391c4cb818642af0580f8623f83QzpcVXNlcnNcMTMzNTNcQXBwRGF0YVxSb2FtaW5nXERpbmdUYWxrXDExOTAyNTczOV92MlxJbWFnZUZpbGVzXDQ3NzE0NzFcMTY0NjE5MTcyNDUzNF84NEVEODdDMy02MTA1LTQ4YjUtODgyQi01MDE1OThDQkYwOUEucG5n.png

模板demo

gitee.com/zhaofangyin…