在网上看到了很多将微信转为其他端小程序的方法,基本上都是手动进行的,比如修改组件,修改授权方式,将wxml —> swan /wxss—> css ,保守的说,这些方法比较实用,出现问题很容易定位到,但是有一个缺点就是代码量大了以后会很难受,是纯正的力气活。但是往往程序猿们都比较懒,懒到身上不发霉不洗澡得地步。
所以今天推荐的是凹凸实验室的Taro,再转得过程中可能会大量掉发,请做好准备。Taro是基于React书写规范,它采用与 React 一致的组件化思想,组件生命周期与 React 保持一致,同时支持使用 JSX 语法,让代码具有更丰富的表现力,使用Taro 进行开发可以获得和 React 一致的开发体验。官网介绍
Taro 可以将你的原生微信小程序应用转换为 Taro 代码,进而你可以通过 taro build
的命令将 Taro 代码转换为对应平台(比如百度,支付宝,字节跳动)的代码,或者对转换后的 Taro 代码进行用 React 的方式进行二次开发,对其他平台再进行适配。
微信原生小程序转 Taro 的操作非常简单,首先必须安装使用 npm i -g @tarojs/cli
安装 Taro 命令行工具,不了解具体安装方法,可以参考官网文档,其次在命令行中定位到小程序项目的根目录,根目录中运行:
$ taro convert
即可完成转换。转换后的代码保存在根目录下的 taroConvert
文件夹下。你需要定位到 taroConvert
目录执行 npm install
命令之后就可以使用 taro build
命令编译到对应平台的代码。
拿支付宝小程序为例:
# yarn $ yarn dev:alipay $ yarn build:alipay # 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
一般情况下我们都会使用
$taro build --type alipay --watch
具体其他可以见文档
在转化的工程中注意几个关键点
1.微信原生小程序不能报错,写法必须标准,避免变量数据类型转换(如 声明为数字,赋值字符串);
2.确保微信转为Taro小程序,可以正常启动,引入其它插件确定是否在其他端小程序支持,不支持先进行解决。
3.Taro转为其他小程序的时候,肯定或多或少的会出现报错,先了解要转的小程序的编写规范逻辑,是否有冲突,可以在Taro的基础上进行二次开发;
4.一般情况下,UI会正常显示,不会有太大问题,具体逻辑需要再次测试。解决不了就进入社区查询,或者提个issues;
ps:建议开发者对要开发的小程序官方文档熟悉,对Reactjs的jsx语法及生命周期熟悉。
帅呆了
松下纱荣子爱你~·
哈哈哈