写点什么

Taro 1.1 全面支持微信 / 百度 / 支付宝小程序了!

  • 2018-11-08
  • 本文字数:2258 字

    阅读完需:约 7 分钟

Taro 1.1 全面支持微信/百度/支付宝小程序了!

9 月份, Taro 正式发布了 1.0 版本

作为一个多端统一开发框架,Taro 1.0 版本为广大开发者带来了许多激动人心的特性,帮助开发者们更方便快捷地开发多端应用。

前进的脚步没有停下,历时一个多月,Taro 1.1 版本正式来袭!

从 1.0 到 1.1,期间产生了 500 余次 Commit,发布了 23 个版本,Taro 一直保持高速的迭代频率,只为不断打磨,为它注入更多优秀的特性,让更多开发者受益。

Taro 1.1 正式来袭

更丰富的平台转换支持

自从微信小程序诞生以来,小程序的优势大家有目共睹,各大互联网厂商开始摩拳擦掌,纷纷布局小程序领域,其中势头最劲的当属百度智能小程序和支付宝小程序。对于前端而言,既是机遇,因为平台愈多,带来的机会愈多;也是挑战,因为不同的平台总会各有差异,为每个平台维护一份代码,成本显然太高。

为了降低多端应用的开发成本,在已全面支持微信小程序的基础上,Taro 在 1.1 版本中加入了对百度智能小程序和支付宝小程序的支持。

支持百度智能小程序

升级到 1.1 版本后,即可获得将现有项目转换成百度智能小程序的能力。

使用如下命令进行百度智能小程序端编译预览及打包:

复制代码
# npm script
$ npm run dev:swan
$ npm run build:swan
# 仅限全局安装
$ taro build --type swan --watch
$ taro build --type swan
# npx 用户也可以使用
$ npx taro build --type swan --watch
$ npx taro build --type swan

选择百度智能小程序模式,需要你下载并打开百度开发者工具,然后在项目编译完后选择项目根目录下 dist 目录进行预览。

目前已有使用 Taro 开发的首款百度智能小程序 “京东好物街” 正式上线,可以使用百度 APP,扫描以下二维码进行体验:

支持支付宝小程序

支付宝小程序的转换方式与百度智能小程序一致。

你可以使用如下命令进行支付宝智能小程序端编译预览及打包:

复制代码
# npm script
$ npm run dev:alipay
$ npm run build:alipay
# 仅限全局安装
$ taro build --type alipay --watch
$ taro build --type alipay
# npx 用户也可以使用
$ npx taro build --type alipay --watch
$ npx taro build --type alipay

选择支付宝小程序模式,需要你下载并打开支付宝小程序开发者工具,然后在项目编译完后选择项目根目录下 dist 目录进行预览。

新增平台标识

在加入 百度智能小程序 和 支付宝小程序 支持后,目前 Taro 已经提供了对 5 个平台的支持,分别是 微信/ 百度/ 支付宝/React Native/H5,为了方便开发者书写平台差异化代码,Taro 为每个平台提供了平台标识,并可以通过 process.env.TARO_ENV 来获得,其取值分别如下:

  • weapp,代表微信小程序

  • h5,代表 H5

  • rn,代表 React Native

  • swan,代表百度智能小程序,1.1 版本新增

  • alipay,代表支付宝小程序,1.1 版本新增

开放多端 UI 库打包能力

在 1.0 版本中,Taro 的 build 命令新增了 --ui 参数,来将按照一定规则组织的代码打包成可以在 Taro 中使用的多端 UI 库。 并且,基于这一功能,Taro 推出了首个可以跨多端使用的多端 UI 库 Taro UI。

为了完善 Taro 生态,扩展 Taro 社区,在 1.1 版本中开放了多端 UI 库的打包能力,并提供了详细的开发指南。

同时 Taro 也提供了官方的多端 UI 库示例,这是一个完整规范的 UI 库开发例子,包含必要的项目改造以及测试套件,基于这个示例,开发者可以快速地开发一个多端 UI 库项目。

还有更多

在 1.0 版本中,Taro 提供了对 微信小程序、H5 以及 React Native 的支持,而 1.1 版本,在原有支持的基础之上,对每一个平台进行不断完善,让其更加丰富完整。

微信小程序

  • F 调用 this.setState 时,JSON Diff 算法 Bug 修复

  • F 修复 this.setState 回调里再调用 this.setState 的 Bug

  • A 新增 componentWillPreload 生命周期,用于数据预加载

  • A 支持在同一作用域对 JSX 赋值

  • F 多层 Map 循环嵌套包含条件判断时问题修复

  • F 中文字符被编译成 unicode 码问题修复

  • F 三元表达式解析问题修复

  • A 提升字符串模板的性能

H5

  • A H5 支持分包配置

  • F 修复 H5 后台页面依然执行生命周期的问题

  • F 修复 PUT 、DELETE 等请求 body 为对象时无法发送 body 的问题

  • A 增加 setTabBarStyle 与 setTabBarItem API

  • A 增加 arrayBufferToBase64 与 base64ToArrayBuffer API

  • A 编译打包支持将公共 npm 包抽离成 lib 库

React Native

  • A 支持 TypeScript

  • F 修复项目初始化后 less 编译报错

  • A 添加 config.window.navigationStyle 配置

  • A 添加 showNavigationBarLoading 与 hideNavigationBarLoading API

  • A 增加 arrayBufferToBase64 与 base64ToArrayBuffer API

  • F 修复样式支持警告

  • A watch 模式时代码按需编译

  • F 修复同一文件夹下多个 JS 文件样式引用错误

  • F app.json 的 expo 配置改为可覆盖

  • A 支持 Taro.pxTransform

  • F iconPath 和 selectedPath 的为同一个路径导致的重复引用的报错

  • A 在 config 中添加 rn 的 expo 配置

  • A 支持 deviceRatio 自定义

更完整的功能迭代记录请参阅:

https://github.com/NervJS/taro/blob/master/CHANGELOG.md

未来规划

Taro 将会继续保持高效迭代,以满足日益增长的多端开发需求。

目前已经确认的开发计划可以参见 Taro 版本开发计划:

https://github.com/NervJS/taro/blob/master/PLANS.md

小程序转 Taro 代码开启内测

值得注意的是,激动人心的小程序转 Taro 代码功能已经开发完成,进入内测阶段,可以通过如下命令安装到 canary 版本,进行体验:

复制代码
$ npm i -g @tarojs/cli@canary

欢迎针对这一功能,提供宝贵意见,意见入口请戳:
https://github.com/NervJS/taro/issues/955

同时,为了帮助 Taro 更好地成长,让 Taro 更好地回馈所有开发者,欢迎您给 Taro 提供优秀想法,或者直接贡献代码: https://github.com/NervJS/taro/pulls

2018-11-08 11:335671

评论 10 条评论

发布
用户头像
haha
2018-11-09 13:13
回复
用户头像
Hello World!
2018-11-09 09:08
回复
用户头像
体验一下新版网站
2018-11-08 17:09
回复
欢迎到来
2018-11-09 00:28
回复
用户头像
用着挺爽的,加油
2018-11-08 14:27
回复
用户头像
这个厉害了。
2018-11-08 14:11
回复
用户头像
牛逼了!
2018-11-08 13:10
回复
用户头像
比mpvue更全能
2018-11-08 11:13
回复
用户头像
最后的超链接多加了个句号
2018-11-08 10:20
回复
用户头像
强大!
2018-11-08 09:11
回复
没有更多了
发现更多内容

最新Idea 2020.1 二种方法激活教程

公众号:V5codings

intellij-idea

C语言数据类型

C语言技术网-码农有道

我在极客时间学习的三个月

石乐

游戏开发通用技术和工具

波波

编程 游戏开发 H5游戏

告别手写,一键生成 Helm Chart README

郭旭东

Kubernetes Helm

Grafana+Prometheus(InfluxDB)+Jmeter使用Nginx代理搭建可视化性能测试监控平台

软测小生

Grafana Prometheus Influxdb Jmeter 性能测试

有没有什么上古的程序代码至今依然没被更替?

极客时间

编程 程序员 开发

分析Kubernetes技术体系的层级,慎用比较前沿的技术

韩超

我的编程之路-2(首秀)

顿晓

方法 沟通 新项目

快来体验 JetBrains Space EAP 版本

刘培培

DevOps JetBrains Space

当我们说文本编辑器时,到底在说什么

付济

写作平台 InfoQ markdown

Kafka系列第5篇:一文读懂消费者背后的那点"猫腻"

z小赵

大数据 kafak 实时计算

C语言程序的基本结构

C语言技术网-码农有道

C/C++

freecplus框架,Linux平台下C/C++程序员提高开发效率的利器

C语言技术网-码农有道

听保洁老大爷讲Java的垃圾回收

侯树成

JVM

高仿瑞幸小程序 03 创建轮播图

曾伟@喵先森

小程序 微信小程序 大前端 移动

VSCode最强助攻

页面仔小杨

编程 vscode

ELK 日志收集简易教程

meng

elasticsearch Logstash Kibana ELK Filebeat

5G来临,我们该如何打造自己的家庭数据中心基础篇

ABC实验室

5G 数字资产 家庭数据中心

2020年程序猿必读10本好书推荐

ABC实验室

学习 2020 程序员 好书推荐

给程序员的错误找个台阶

曲水流觞TechRill

从全国首起暗网案件告破说起——暗网,超乎你想象

石君

网络安全 暗网 洋葱网络

自助设备系列——上下游

孙苏勇

产品 行业资讯 智能设备

嵌套文件夹复制实现

Howe

Java 文件复制

打造个人商业模式第一步

一尘观世界

副业赚钱 提升认知 思维方式 商业模式 认识自己

使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (二)为什么要写单元测试

编程道与术

编程 编程语言 TDD 代码审查 单元测试

NumPy 运算规则总结

张利东

Python

面对压力的战略和战术

山楂大卷

管理 精神力 逻辑思维 压力 工作思路

Flutter Andorid真机或打包APK杂症记录

北风烈

flutter 打包APK

docker安装mysql5.7并挂载目录到本地

桥哥技术之路

Docker

我的工作原则与思考

梁帅

互联网 工作效率 原则

Taro 1.1 全面支持微信/百度/支付宝小程序了!_移动_凹凸实验室_InfoQ精选文章