-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Taro 3.1 #8731
Merged
Merged
Taro 3.1 #8731
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1. 为 isBuildPlugin 提供默认值,小程序平台插件可选是否传入此参数 2. 删除过去版本遗留的 isUseComponentBuildPage 配置的类型定义
使 runtime 可以被 tree shaking
* #7590 * fix(size): 尺寸计算错误
# Conflicts: # lerna.json # packages/babel-plugin-transform-taroapi/package.json # packages/babel-preset-taro/package.json # packages/eslint-config-taro/package.json # packages/eslint-plugin-taro/package.json # packages/postcss-plugin-constparse/package.json # packages/postcss-pxtransform/package.json # packages/shared/package.json # packages/taro-api/package.json # packages/taro-cli/package.json # packages/taro-cli/src/presets/platforms/swan.ts # packages/taro-components/package.json # packages/taro-extend/package.json # packages/taro-h5/package.json # packages/taro-helper/package.json # packages/taro-loader/package.json # packages/taro-mini-runner/package.json # packages/taro-react/package.json # packages/taro-router/package.json # packages/taro-runner-utils/package.json # packages/taro-runtime/package.json # packages/taro-service/package.json # packages/taro-webpack-runner/package.json # packages/taro-with-weapp/package.json # packages/taro/apis/wx.js # packages/taro/package.json # packages/taroize/package.json
awesome! |
luckyadam
approved these changes
Feb 24, 2021
😋 |
CustomWrapper 是不是只有对react有用?vue现在没办法做优化? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Breakings
一、React
项目的 React 版本必须 >= 16.14.0,或使用 17.0.0+
二、Vue2
1. 修复 Vue2 入口组件生命周期多次触发的问题,#7179
用户编写的入口组件需要修改如下:
HighLights
一、开放式架构
近年来业界推出的小程序平台越来越多,但 Taro 核心维护的平台只有 6 个,因此常常有同学提出能不能支持某某平台的 Feature Request。
基于目前的架构,支持一个新的平台开发复杂度高,同时社区也难以参与贡献。
为此我们把 Taro 打造成为一个开放式框架,通过端平台插件能支持任意小程序平台:
基于开放式架构,我们新增了一些有趣的插件,也十分期待大家利用它施展创意。
新增的插件:
二、新增小程序性能优化组件 CustomWrapper
Taro3 使用
<template>
进行渲染,所有的setData
都由页面对象调用。如果页面结构比较复杂,更新的性能就会下降。为此我们增加了一个基础组件
CustomWrapper
,它的作用是创建一个原生自定义组件。对后代节点的setData
将由此自定义组件进行调用,达到局部更新的效果,从而提升更新性能。开发者可以使用
CustomWrapper
去包裹遇到更新性能问题的组件:三、原生小程序支持渐进式使用 Taro 开发
过去我们对在 Taro 项目中混合使用原生的支持度较高。相反地,对在原生项目中混合使用 Taro 却没有太重视。但是市面上有着存量的原生开发小程序,他们接入 Taro 开发的改造成本往往非常大,最后只得放弃混合开发的想法。
经过与京喜拼拼项目的合作,也驱使了我们更加关注这部分需求。Taro 推出了一套完整的原生项目混合使用 Taro 的方案。
方案主要支持了三种场景:
希望以上方案能满足打算逐步接入 Taro 开发的同学。更多意见也欢迎在 Github 上给我们留言。
四、拥抱 React 17、TypeScript 4
1. 如何使用
新项目:
模板默认依赖 React 17、TypeScript 4,可直接使用。
旧项目:
手动升级项目中
react
、react-dom
、typescript
、@typescript-eslint/parser
、@typescript-eslint/eslint-plugin
的版本。2. 改动
3.1 默认支持 New JSX Transform,开发者可以不在书写 JSX 前先引入 React
旧项目升级 React 17 的开发者还需要设置 ESLint 配置:
如果不希望打开此功能,可以配置 Babel Taro preset 的
reactJsxRuntime
选项为classes
:2.2 H5 端编译 React 时默认开启 fast refresh
如果不希望打开此功能,可以修改 Taro 配置项和配置 Babel Taro preset:
特性
View
增加catchMove
属性,解决滚动穿透问题。修复
重要
小程序
extension
配置解析的问题,[Taro 3] Webpack 建议使用 resolve.extensions 替换 MultiPlatformPlugin #6786,taro3.0.5版用vue开发进行多端处理组件文件异常 #7265H5
App.onPageNotFound
,Taro 3.0.8 H5路由未找不触发componentDidNotFound #7474slot
兼容问题,@tarojs/components 的组件Form 内部的Input显示隐藏报错Failed to execute 'removeChild' on 'Node' #7363View
和Text
组件多行截断样式失败问题,Text设置 webkit-line-clamp 及text-overflow 后在H5 里出现渲染异常 #7472 [Taro Next rc.5] Text 文字溢出省略 表现异常 #6741style
属性支持设置 CSS 变量,view标签上的style属性只能生成常规属性,var()函数可用属性无法生成,如"--main-color: #ff01cd" #7452升级指南
从 v3.x 升级的同学,首先需要安装 v3.1 的 CLI 工具:
然后进入项目,删除 node_modules、yarn.lock、package-lock.json。
最后把
package.json
文件中 taro 相关依赖的版本修改为3.1.0
,再重新安装依赖。至此升级结束。End
最后,衷心感谢为 Taro 从 v3.0 走到 v3.1 贡献过代码的各位同学!