支持转换微信、QQ、头条/抖音、支付宝/钉钉和百度等小程序转换到 uni-app 项目
输入小程序项目路径,即可输出 uni-app 项目。
PS: 目前工具转换支持度最好的为:微信小程序和 QQ 小程序。
工具暂不支持 vant 项目,如果有含 vant 组件的小程序项目,请转换后,将 vant 的组件全部替换为 uview 或其他同功能组件。(个人不太建议转换 vant 项目!)
同时支持 Npm 安装 和 HbuilderX 插件(不依赖环境) 两种形式安装,安装方式如下:
$ npm install miniprogram-to-uniapp -g
Usage: wtu [options]
Options:
-V, --version output the version number [版本信息]
-i, --input <target> the input path for weixin miniprogram project [输入目录]
-h, --help output usage information [帮助信息]
-c, --cli the type of output project is vue-cli, which default value is false [是否转换为vue-cli项目,默认false]
-m, --merge merge wxss file into vue file, which default value is false [是否合并wxss到vue文件,默认false]
$ wtu -i ./miniprogram-project
$ wtu -i ./miniprogram-project -m
$ wtu -i ./miniprogram-project -c
请参考项目:【HBuilder X 插件】 转换各种小程序为 uni-app 项目 进行食用。
本插件详细使用教程,请参照:miniprogram-to-uniapp 使用指南。
使用时遇到问题,请仔细阅读: miniprogram to uniapp 工具答疑文档.md
对于使用有疑问或建议,欢迎加入 QQ 群进行指导和交流。
交流 QQ 群:
4 群:555691239
小程序 | 转换支持 | 转换文档 |
---|---|---|
微信小程序 | ✔ | |
QQ 小程序 | ✔ | |
头条小程序 | ✔ | |
支付宝小程序 | ✔ | |
百度小程序 | ✔ |
组件 | 转换支持 | 转换文档 |
---|---|---|
mode 为 region 的 picker | ✔ | |
wxParse | ✔ | |
We-UI | 开发中 | |
Vant | ✖️ | 解决方案,请参照群公告 |
功能 | 转换支持 | 转换文档 |
---|---|---|
微信小程序云开发 | ✔ | |
TS 小程序 | ✔ | |
include 标签解析 | ✔ | |
template 标签解析 | ✔ | |
Behavior 解析 | ✔ | |
setData 函数(polyfill) | ✔ | |
代码反混淆 | ✔ | |
关键字语义化(如 var t = this; => var that = this;) | ✔ | |
输出代码自动格式化(与 HBuilderX 格式化一致) | ✔ | |
对 template 和 js 里面未声明的变量进行声明 | ✔ | |
函数与变量名重名处理 | ✔ | |
函数与 prop 属性重名处理 | ✔ | |
变量名与 prop 属性重名处理 | ✔ | |
第三方组件的参数类型修复 | ✔ | |
this.data.xxx 转换为 this.xxx | ✔ | |
app.xxx 转换为 app.globalData.xxx | ✔ | |
getApp().xxx 转换为 getApp().globalData.xxx | ✔ | |
polyfill | ✔ | |
资源文件处理及路径修复 | ✔ | |
js 系统关键字作为函数或变量名(如 default、switch、delete 等) | ✔ | |
以$开头的变量 | ✔ | |
动态绑定的函数<input @input="test{{index+1}}"> |
✔ | |
合并 wxs 文件 | ✖️ | |
globalData 变量与函数重名处理 | ✖️ | |
globalData 未变量处理 | ✖️ |
功能 | 转换支持 | 转换文档 |
---|---|---|
使用 uni-app 发布的小程序项目 | ✖️ | |
使用 Taro 发布的小程序项目 | ✖️ | |
使用 redux 开发的小程序(代表为:网易云信小程序 DEMO) | ✖️ | |
使用 wxpage 开发的小程序(https://github.com/tvfe/wxpage) | ✖️ | |
使用腾讯 omi 开发的小程序(https://github.com/Tencent/omi) | ✖️ | |
小程序抽象节点 componentGenerics | ✖️ | |
组件间关系 relations | ✖️ | |
component 里的 pageLifetimes 生命周期 | ✖️ | |
echarts 组件 | ✖️ |
文档正在完善中,敬请期待~
- GoGoCode 工具主要转换逻辑依赖 GoGoCode 构建
- 工具使用mp-html替换 wxParse
- 工具使用全兼容官方 picker mode=region 城市选择器替换
<picker mode="region"></picker>
- [AST 实战]从零开始写一个 wepy 转 VUE 的工具
- https://astexplorer.net/ AST 可视化工具
- Babylon-AST 初探-代码生成(Create) 系列文章
- Babel 插件手册 中文版 Babel 插件手册
- Babel 官网 有问题直接阅读官方文档哈
- 微信小程序转换 uni-app 详细指南 补充了我一些未考虑到的规则。
如果觉得帮助到你的话,可以支持一下作者,请作者喝杯咖啡哈~
这样会更有动力更新哈~~
非常感谢~~
This repo is released under the MIT.