一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第7天,点击查看活动详情。
概述
Taro是一套遵循React语法规范的多段开发的解决方案(具体官网自查),使用它,我们可以只写一套代码,通过它的编译工具,将代码分别编译出可以在不同端运行的代码
安装和初始化
- 安装
首先,需要使用npm或者yarn全局安装
@tarojs/cli,或者直接使用npx,注意:Node环境>=8.0.0
- 使用npm安装CLI
npm install -g @tarojs/cli
- 使用yarn安装CLI
yarn global add @tarojs/cli
- 使用cnpm安装
cnpm install -g @tarojs/cli
- 初始化 使用命令创建模板项目
taro init myApp
- 目录结构 dist:编译结果目录,config:配置目录,src:源码目录,app.css:项目总通用样式,app.js:项目入口文件,utils:公共方法库,package.json:配置
├── dist
├── config
├── src
| ├── components 公共组件目录
| ├── pages 页面文件目录
| ├── utils
| ├── app.css
| └── app.js
└── package.json
入口文件是在Src目录下的app.js
Taro3开放式跨端跨框架解决方案
- 跨框架:react、Nerv、Vue2、vue3、jquery
- 跨端:开放式插件系统
- 举例 微信小程序分享到朋友圈,肯定是要用到小程序码,微信提供了三个小程序码接口
- 接口1可以接收调用10万次
- 必须是已经发布的小程序存在页面(否则会报错)
- 方形小程序码,官方不推荐
通过tayCatch内调用云函数
wxacode.getUnlimited,云函数可以自己进行创建也可以使用别人的。 scene:只支持大小写字母数字特殊字符,page:这个必须是已经发布的小程序页面路径并且不要加/,如果这个参数为空则,跳到首页,最后把结果返回
try {
const result = await cloud.openapi.wxacode.getUnlimited({
scene: event.scene,
page:event.page
})
return result
} catch (err) {
return err
}
通过画布把小程序码画出来,最后把小程序码转换到本地图片路径
通过wx.canvasToTempFilePath转换到本地路径,之后接入wx.previewImage调试扫码进入