写点什么

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:335761

评论 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
回复
没有更多了
发现更多内容

鸿蒙开发实例|对象关系映射数据库

TiAmo

华为 华为云 10月月更

分布式事务-消息队列实现分布式事务

zarmnosaj

10月月更

知识分享|To B产品的帮助中心页面制作方法

Baklib

启科量子 QuBranch 正式开源

启科量子开发者官方号

量子计算 编程工具 启科量子

换行符不一致问题终极处理方案——gitattributes

甜点cc

JavaScript 前端 代码规范 10月月更

招聘软件哪个最好用?

优秀

招聘系统

Java的一维数组和二维数组

陌上

数据结构 Java、 10月月更

华为云桌面,随时随地助力企业轻松办公

科技怪授

华为云 桌面云 云桌面

华为云桌面,助力企业扬帆起航

科技怪授

华为云 桌面云 华为云桌面

助力企业高效率办公,华为云桌面必不可少

科技怪授

华为云 桌面云 云桌面

启科量子可视化量子编程——QuComposer

启科量子开发者官方号

量子计算 可视化开发 启科量子

LF AI & Data AICon 2022—AI工程化回顾

星策开源社区

机器学习 微软 AI工程化 人工智能’ AICon

代码规范以及commit扫描代码

甜点cc

前端 代码规范 React Native 10月月更

一文带你更了解Java中的方法

陌上

Java、 编程、 10月月更

Java | static和不可变关键字final

陌上

编程 Java、 10月月更

Baklib产品知识库|为什么说客户体验非常重要?

Baklib

校园大赛 | 数云融合 叩响未来——神州数码集团2022年校园大赛火热开启!

科技热闻

Go | 基本数据类型的相互转换

甜点cc

golang 学习笔记 10月月更

CDC ChangeLog Stream实时流入CLICKHOUSE最佳姿势

水滴

实时数仓 Clickhouse CDC Flink CDC Debezium

跨库分页

zarmnosaj

10月月更

闻道Go语言,6月龄必知必会

有态度的马甲

华为云ECS,如何赋能企业开展云上业务?

路过的憨憨

华为

汽车云服务应用场景系列报告——自动驾驶仿真测试云服务行业图谱

易观分析

云服务 汽车

个人和初创企业想要搭建网站,如何挑选一台便宜合适的云主机?

京东科技开发者

云主机 网站搭建 测评 性能评测

企业如何从0到1搭建BI系统

葡萄城技术团队

BI 仪表盘识别 可视化数据

办公无界,看华为云桌面如何助企业上“云”

科技怪授

华为云 桌面云 云桌面

纵享丝滑,华为云CDN加速服务的极致体验

路过的憨憨

华为

现代化SDLC与架构评审

I

安全架构设计 SSDLC

覆水也可收, 破镜可重圆! EasyRecovery帮你轻松找回丢失数据

淋雨

数据恢复 EasyRecovery

独家!【隐秘而伟大】这群神秘的程序员,干了票大的

博文视点Broadview

从 Traefik 到 APISIX,汽车智能计算平台公司「地平线」在 Ingress Controller 的探索和实践

API7.ai 技术团队

开源 AI 网关 APISIX Ingress Controller

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