taro3之开放式跨端跨框架解决方案

192 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第7天,点击查看活动详情

概述

Taro是一套遵循React语法规范的多段开发的解决方案(具体官网自查),使用它,我们可以只写一套代码,通过它的编译工具,将代码分别编译出可以在不同端运行的代码

安装和初始化

  • 安装 首先,需要使用npm或者yarn全局安装@tarojs/cli,或者直接使用npx, 注意:Node环境>=8.0.0
  1. 使用npm安装CLI
npm install -g @tarojs/cli
  1. 使用yarn安装CLI
yarn global add  @tarojs/cli
  1. 使用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开放式跨端跨框架解决方案

  1. 跨框架:react、Nerv、Vue2、vue3、jquery
  2. 跨端:开放式插件系统
  • 举例 微信小程序分享到朋友圈,肯定是要用到小程序码,微信提供了三个小程序码接口
  1. 接口1可以接收调用10万次
  2. 必须是已经发布的小程序存在页面(否则会报错)
  3. 方形小程序码,官方不推荐 通过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调试扫码进入

参考资料

taro官方文档

nervJs之Taro