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

文章来源:绿盟市场 时间:2018-11-07 10:08
作者|凹凸实验室编辑|覃云上个月,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
选择百度智能小程序模式,需要你下载并打开百度开发者工具(https://smartprogram.baidu.com/docs/develop/devtools/show_sur/),然后在项目编译完后选择项目根目录下 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
选择支付宝小程序模式,需要你下载并打开支付宝小程序开发者工具(https://docs.alipay.com/mini/developer/getting-started/),然后在项目编译完后选择项目根目录下 dist 目录进行预览。新增平台标识在加入 百度智能小程序 和 支付宝小程序 支持后,目前 Taro 已经提供了对 5 个平台的支持,分别是 微信 / 百度 / 支付宝 /React Native/H5,为了方便开发者书写平台差异化代码,Taro 为每个平台提供了平台标识,并可以通过 process.env.TARO_ENV 来获得,其取值分别如下:weapp,代表微信小程序h5,代表 H5rn,代表 React Nativeswan,代表百度智能小程序,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 的 BugA 新增 componentWillPreload 生命周期,用于数据预加载A 支持在同一作用域对 JSX 赋值F 多层 Map 循环嵌套包含条件判断时问题修复F 中文字符被编译成 unicode 码问题修复F 三元表达式解析问题修复A 提升字符串模板的性能H5A H5 支持分包配置F 修复 H5 后台页面依然执行生命周期的问题F 修复 PUT 、DELETE 等请求 body 为对象时无法发送 body 的问题A 增加 setTabBarStyle 与 setTabBarItem APIA 增加 arrayBufferToBase64 与 base64ToArrayBuffer APIA 编译打包支持将公共 npm 包抽离成 lib 库React NativeA 支持 TypeScriptF 修复项目初始化后 less 编译报错A 添加 config.window.navigationStyle 配置A 添加 showNavigationBarLoading 与 hideNavigationBarLoading APIA 增加 arrayBufferToBase64 与 base64ToArrayBuffer APIF 修复样式支持警告A watch 模式时代码按需编译F 修复同一文件夹下多个 JS 文件样式引用错误F app.json 的 expo 配置改为可覆盖A 支持 Taro.pxTransformF 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
更多
齐乐娱乐