介绍
Taro是一套遵循 React 语法规范的多端统一开发框架,支持用 React 的开发方式编写一次代码。
使用 Taro,我们可以只书写一套代码,再通过 Taro 的编译工具,将源代码分别编译出可以在不同端(微信小程序、H5、RN 等)运行的代码。
React 语法风格
Taro 遵循 React 语法规范,它采用与 React 一致的组件化思想,组件生命周期与 React 保持一致,同时支持使用 JSX 语法,让代码具有更丰富的表现力,使用 Taro 进行开发可以获得和 React 一致的开发体验。
其实说实话,就算不会React,跟着Taro学习,看几遍也就会了,作者就这这样学习的,嘻嘻
安装
先来安装一下Taro吧
# 使用 npm 安装 CLI
$ npm install -g @tarojs/cli
# OR 使用 yarn 安装 CLI
$ yarn global add @tarojs/cli
# OR 安装了 cnpm,使用 cnpm 安装 CLI
$ cnpm install -g @tarojs/cli
小伙伴们安装成功了吗,如果不出现什么意外的情况下,基本上安装都能成功,不成功的小伙伴看一下自己的node哦,node没错的话,可能是网络的原因,可以尝试一下cnpm吧
安装成功后基本上可以看到以下画面
看到这里证明你安装成功了哦!下接下来输入
taro -v
看一下版本哦,目前Taro可能处于初期开发阶段,版本更新会比较快,不过不要紧,不会影响到你的项目哦,相反会更好
好了安装成功后,Taro就可以正常使用啦
创建项目
接下来创建项目就是喽
Taro init demo
taro会以非常快速度创建完成
这里作者不知道为啥地下有点不好,但不要紧,无关大雅
在创建完项目之后,Taro 会默认开始安装项目所需要的依赖。一般来说,依赖安装会比较顺利,但某些情况下可能会安装失败,这时候你可以在项目目录下自己使用安装命令进行安装
# 使用 yarn 安装依赖
$ yarn
# OR 使用 cnpm 安装依赖
$ cnpm install
# OR 使用 npm 安装依赖
$ npm install
安装依赖后进入项目目录开始开发,具体Taro使用命令看一下项目的package.json目录哦
dev环境启动
先来运行一下吧,我们选择以h5的方式启动输入
npm run dev:h5
浏览器会自动打开一个10086端口的地址
选择启动
这时,我们可以在浏览器中看到如下结果
Taro项目就创建成功啦,简单吧,他的开发其实也挺简单哦,快去上手吧
Taro介绍结尾,运行
微信小程序
选择微信小程序模式,需要自行下载并打开微信开发者工具,然后选择项目根目录进行预览。
微信小程序编译预览及打包
# npm script
$ npm run dev:weapp
$ npm run build:weapp
H5
H5 模式,无需特定的开发者工具,在执行完下述命令之后即可通过浏览器进行预览
H5 编译预览及打包
# npm script
$ npm run dev:h5
React Native
React Native 端运行需执行如下命令,React Native 端相关的运行说明请参见 React Native 教程
# npm script
$ npm run dev:rn
百度小程序
选择百度小程序模式,需要自行下载并打开百度开发者工具,然后在项目编译完后选择项目根目录下 dist 目录进行预览。
百度小程序编译预览及打包
# npm script
$ npm run dev:swan
$ npm run build:swan
支付宝小程序
选择支付宝小程序模式,需要自行下载并打开支付宝小程序开发者工具,然后在项目编译完后选择项目根目录下 dist 目录进行预览。
支付宝小程序编译预览及打包
# npm script
$ npm run dev:alipay
$ npm run build:alipay
对了,Taro更新比较快,还要记得更新Taro项目哦
Taro 提供了更新命令来更新 CLI 工具自身和项目中 Taro 相关的依赖
更新 Taro CLI 工具
# taro
$ taro update self
# npm
npm i -g @tarojs/cli@latest
# yarn
yarn global add @tarojs/cli@latest
更新项目中 Taro 相关的依赖
$ taro update project [version]
version
为选填,如:1.x.x/latest
等,将会直接更新到指定版本。 若不填写version
,将会更新到当前项目 Taro 依赖的主版本(major)
的最新稳定版,如当前主版本没有稳定版本,则会更新到latest
指定的版本。
如命令更新失败,需要在 package.json 文件手动更新依赖版本,然后重新安装依赖。