一、Trao简介
Taro 是一套遵循 React 语法规范的 多端开发 解决方案。现如今市面上端的形态多种多样,Web、React-Native、微信小程序等各种端大行其道,当业务要求同时在不同的端都要求有所表现的时候,针对不同的端去编写多套代码的成本显然非常高,这时候只编写一套代码就能够适配到多端的能力就显得极为需要。
使用 Taro,我们可以只书写一套代码,再通过 Taro 的编译工具,将源代码分别编译出可以在不同端(微信/百度/支付宝/字节跳动小程序、H5、React-Native 等)运行的代码。
官网地址:https://taro.aotu.io/
文档地址:https://nervjs.github.io/taro/docs/README.html
二、安装
cli 工具安装
首先,你需要使用 npm 或者 yarn 全局安装@tarojs/cli,或者直接使用npx:
# 使用 npm 安装 CLI$ npm install -g @tarojs/cli# OR 使用 yarn 安装 CLI$ yarn global add @tarojs/cli# OR 安装了 cnpm,使用 cnpm 安装 CLI$ cnpm install -g @tarojs/cli注意事项
值得一提的是,如果安装过程出现sass相关的安装错误,请在安装mirror-config-china后重试。
$ npm install -g mirror-config-china使用
使用命令创建模板项目
$ npx @tarojs/cli init myApp
在创建完项目之后,Taro 会默认开始安装项目所需要的依赖,安装使用的工具按照 yarncnpmnpm 顺序进行检测,一般来说,依赖安装会比较顺利,但某些情况下可能会安装失败,这时候你可以在项目目录下自己使用安装命令进行安装
# 使用 yarn 安装依赖$ yarn# OR 使用 cnpm 安装依赖$ cnpm install# OR 使用 npm 安装依赖$ npm install进入项目目录开始开发,目前已经支持 微信/百度/支付宝/字节跳动小程序、H5 以及 ReactNative 等端的代码转换,针对不同端的启动以及预览、打包方式并不一致
注意事项
值得一提再提的是,如果安装过程出现sass相关的安装错误,请在安装mirror-config-china后重试。
npm install -g mirror-config-china微信小程序
选择微信小程序模式,需要自行下载并打开微信开发者工具,然后选择项目根目录进行预览。
微信小程序编译预览及打包(去掉 --watch 将不会监听文件修改,并会对代码进行压缩打包)
# yarn$ yarn dev:weapp$ yarn build:weapp# npm script$ npm run dev:weapp$ npm run build:weapp# 仅限全局安装$ taro build --type weapp --watch$ taro build --type weapp# npx 用户也可以使用$ npx taro build --type weapp --watch$ npx taro build --type weapp百度小程序、支付宝小程序、字节跳动小程序、H5、React Native
详情见官网:https://nervjs.github.io/taro/docs/GETTING-STARTED.html
更新
Taro 提供了更新命令来更新 CLI 工具自身和项目中 Taro 相关的依赖
更新 Taro CLI 工具
# taro$ taro update self# npmnpm i -g @tarojs/cli@latest# yarnyarn global add @tarojs/cli@latest更新项目中 Taro 相关的依赖
$ taro update project环境及依赖检测
Taro 提供了命令来一键检测 Taro 环境及依赖的版本等信息,方便大家查看项目的环境及依赖,排查环境问题。在提 issue 的时候,请附上 taro info 打印的信息,帮助开发人员快速定位问题。
$ taro info? Taro v1.2.0-beta.15 Taro CLI 1.2.0-beta.15 environment info: System: OS: macOS High Sierra 10.13.5 Shell: 5.3 - /bin/zsh Binaries: Node: 8.11.2 - /usr/local/bin/node Yarn: 1.8.0 - /usr/local/bin/yarn npm: 5.6.0 - /usr/local/bin/npm npmPackages: @tarojs/components: ^1.2.0-beta.3 = 1.2.0-beta.3 @tarojs/plugin-babel: ^1.2.0-beta.3 = 1.2.0-beta.3 @tarojs/plugin-csso: ^1.2.0-beta.3 = 1.2.0-beta.3 @tarojs/plugin-sass: ^1.2.0-beta.4 = 1.2.0-beta.4 @tarojs/plugin-uglifyjs: ^1.2.0-beta.3 = 1.2.0-beta.3 @tarojs/rn-runner: ^1.2.0-beta.4 = 1.2.0-beta.4 @tarojs/router: ^1.2.0-beta.3 = 1.2.0-beta.3 @tarojs/taro: ^1.2.0-beta.3 = 1.2.0-beta.3 @tarojs/taro-alipay: ^1.2.0-beta.3 = 1.2.0-beta.3 @tarojs/taro-h5: ^1.2.0-beta.3 = 1.2.0-beta.3 @tarojs/taro-swan: ^1.2.0-beta.3 = 1.2.0-beta.3 @tarojs/taro-weapp: ^1.2.0-beta.3 = 1.2.0-beta.3 @tarojs/webpack-runner: ^1.2.0-beta.3 = 1.2.0-beta.3 eslint-config-taro: ^1.2.0-beta.3 = 1.2.0-beta.3 eslint-plugin-taro: ^1.2.0-beta.3 = 1.2.0-beta.3













