Skip to content

Releases: NervJS/taro

chore(release): publish 3.2.4

22 Apr 03:40
47d46c4
Compare
Choose a tag to compare

特性

H5

  • 新增 React 版本的组件库,可用于代替 WebComponents 版本,以提高兼容性

chore(release): publish 3.2.3

22 Apr 02:20
f3f7f00
Compare
Choose a tag to compare

特性

H5

  • 新增 React 版本的组件库,可用于代替 WebComponents 版本,以提高兼容性

chore(release): publish 3.2.2

20 Apr 07:22
8d47e13
Compare
Choose a tag to compare

修复

RN

  • 特性支持 taro css module
  • 特性支持 rn TabBar 的图片支持本地图片
  • 修复设置 hoverStartTime 后,立即出现点击态问题
  • 修复跳转白条问题

H5

  • 修复缺少 chain 参数,导致无法识别 H5 的多端文件问题 (#9068),by @linshengjian

其它

  • 修复 window 对象属性覆盖兼容非 Taro 构建环境 (#9065),by @xughv

chore(release): publish 3.2.1

07 Apr 12:51
7428aaf
Compare
Choose a tag to compare

修复

小程序

  • 修复 Vue3 使用 slot 失效的问题,#9018 ,by @b2nil
  • 为支付宝、微信小程序增加蓝牙相关 API,#9016
  • 补全 page-container 组件,#8966
  • 默认模版中增加字节小程序的配置文件 project.tt.json,避免字节小程序 IDE 打开项目失败

H5

  • 修复当 Input 组件的 typeundefined 时渲染报错的问题,by @CodeDaraW

chore(release): publish 3.2.0

01 Apr 08:17
Compare
Choose a tag to compare

Highlights

一、更快编译速度

Taro 3 React Native 对整个编译系统进行较大调整,不再生成中间代码,而是直接利用 Metro 生成 bundle,通过运行时适配 Taro 3 标准,这种方式使得编译过程更简单,大大提升了编译速度。

二、source-map 支持

Taro 3 对编译系统改造在提升编译速度的同时,也天然支持source-map,对于开发体验是一个巨大的提升,能够达到与开发原生 React Native 应用一致的体验。

三、多 React Native 版本支持,拥抱最新版 0.64

Taro 3 对系统架构进行了全面升级,React Native 版本取决于开发者项目中的依赖,目前支持 0.60 以上的 React Native 版本,当然最新的 0.64 也是完全支持

在 React Native 0.64 的版本中,iOS 端完成 了对 Hermes 引擎的支持,默认启用了内联引用,也支持 React 17 等等,想体验这些新特性的开发者只需升级对应依赖即可。

新项目升级

Taro 模板默认依赖 React 17、TypeScript 4,运行 React Native 端会自动安装 0.64 的版本,直接使用即可。

旧项目升级

从 v2.x 升级的同学需要先按迁移指南进行操作。

如果是Taro 3 的旧项目,手动升级对应的依赖:

  • react: ^17.0.0
  • react-dom: ^17.0.0
  • typescript: ^4.1.0
  • @typescript-eslint/parser: ^4.15.1
  • @typescript-eslint/eslint-plugin: ^4.15.1
  • react-native:^0.64.0

设置 ESLint 配置:

// .eslintrc
module.exports = {
  "extends": ["taro/react"],
  "rules": {
    "react/jsx-uses-react": "off",
    "react/react-in-jsx-scope": "off"
  }
}

四、更丰富API与组件

要真正做到一套代码,多端复用,非常重要的一点就是组件和 API 的覆盖度,在 Taro 3.2 之前,适配 React Native 已经实现了很多常用 API 和组件,但与小程序,H5 之间还存在较大的差距,需进一步完善。在新的版本中,我们进一步提升组件和 API 的覆盖度,共新增 45 个 API 与 8 个组件。

五、API与组件按需引入

在 Taro 3 中,我们也对打包后 bundle 大小进行了优化。在实际的业务场景中,可能并不会使用到 Taro 提供的所有组件和 API ,但仍然会将所有的组件与 API 及相关依赖打包到最终的 bundle 中,这无疑会增加 bundle 的大小。

为了减少打包后的大小,我们对组件和 API 实现了按需引入的方式,比如:

import Taro from '@tarojs/taro'

Taro.scanCode(options)

//实际打包后的引入会根据页面使用的引入
=> import { scanCode } from '@tarojs/taro-rn/dist/lib/scanCode'

特性

RN

  1. 更快的编译速度
    1. 基于全新的编译体系,启动速度提升1倍
  2. 更便捷的开发调试体验
    1. 去掉了 webpack 后,source-map 的支持更加简单,这对于开发体验是一个巨大的提升
  3. 更全面的API和组件
    1. 新增 38 个API
    2. 新增 7 个组件
  4. 更灵活的接入方式
    1. 支持 React Native 0.60 及以上版本,可自行定制,我们也将探索更多版本的支持
    2. API 和组件支持按需加载,未使用的原生依赖,无需安装
    3. 架构完全基于 React Native 生态,相关工具、组件等均可轻松接入
  5. 更稳定的源码
    1. 使用 TypeScript、ESlint、Jest,保证代码质量
    2. 欢迎社区贡献

升级指南

从 v2.x 升级的同学需要先按迁移指南进行操作。

从 v3.x 升级的同学,首先需要安装 v3.2 的 CLI 工具:

npm i -g @tarojs/cli

然后进入项目,删除 node_modulesyarn.lockpackage-lock.json

最后把 package.json 文件中 Taro 相关依赖的版本修改为 ^3.2.0,再重新安装依赖,至此升级结束。

目前 Taro 3 仅支持 React 开发的项目运行在 React Native 端。

感谢

  • 最后,特别感谢为 Taro 从 v3.1 走到 v3.2 贡献过代码的各位同学

chore(release): publish 3.1.5

31 Mar 12:20
fa50e35
Compare
Choose a tag to compare

修复

小程序

  • 修复 Vue3 报错:SVGElement not defined#8968,by @b2nil
  • 修复小程序使用 jQuery Liked API $.width() 获取不到正确宽度的问题
  • 修复 css 单位转换出错的问题,fix #8089

Typings

  • 修复 wx.cloud.Cloud API 的类型定义错误,#8682,by @doublethinkio
  • 优化 H5 tabbar 组件的 eslint 和类型推导,by @SyMind

其它

  • 增加对 H5 端 hideHomeButton API 的不支持提示,by @CodeDaraW

chore(release): publish 2.2.17

19 Mar 02:49
fda556e
Compare
Choose a tag to compare

修复

  • 补全 API getUserProfile
  • 特殊情况下redux更新无法触发视图更新, fix #8705
  • 修复页面首次加载时调用Taro.relaunch会跳转到空页面
  • 修复Taro.redirectTo和Taro.reLaunch方法导致多次componentDidShow的问题
  • 修复form组件设置h5原生属性无效的问题

chore(release): publish 3.1.4

15 Mar 12:07
c593713
Compare
Choose a tag to compare

修复

  • 修复环境变量失效的问题,fix #8900

小程序

  • 修复无法移除组件 class 属性的问题,by @KEENV

Typings

chore(release): publish 3.1.3

12 Mar 09:19
9f1ca1e
Compare
Choose a tag to compare

特性

  • 支持把 Taro 的 React 组件单独编译为小程序原生组件,详细文档

修复

小程序

  • 修复小程序渲染 html 时出现死循环的问题,by @LiHDong
  • 修复给 View 新增 hidden 属性无效的问题,by @changcllong
  • 修复跳转预加载 API,#8873
  • 修复与钉钉小程序开放接口 API 的兼容问题,#8684
  • 修复阻止跨代组件事件冒泡失败的问题,#8757

H5

  • 使得 querystring 多个相同参数能解析为数组,by @liuchuzhang

Typings

  • systemInfo 方法添加 themeenableDebug 的类型,by @baranwang
  • 优化 Picker 组件的类型,by @SyMind

chore(release): publish 3.1.2

08 Mar 11:36
359d239
Compare
Choose a tag to compare

修复

小程序

  • 修复渲染 html 时,带属性的 style 标签无法识别的问题,#8827,by @LiHDong
  • 补全 API getUserProfile#8810
  • 补全 Map 组件属性 optimize#8784
  • 修复使用原生组件时属性传递失败的问题,#8797
  • 修复 pure-viewstatic-view 的转换问题,#8789

H5

  • 升级 Stencil 到最新版本,修复报错: "TypeError: Cannot read property 'childNodes' of null",#8798

Typings

  • 修复 ITouchEvent 里的 changedTouches 属性的类型错误,by @ryougifujino