如何将各种小程序(微信小程序)项目转换为 uni-app 项目

04-06 阅读 0评论

使用【miniprogram-to-uniapp】可以将微信小程序项目转为 uni-app 项目(新版本 HBuilderX 工具已经支持各种小程序转换插件)

HBuilderX 插件地址:miniprogram-to-uniapp v2 - DCloud 插件市场

核心原理:使用 Babel 获取AST(词法分析),然后或使用 Babel 自带函数增删,或正则分析替换等等操作

支持的事件

1、支持微信、QQ、头条/抖音、支付宝/钉钉和百度等小程序转换到 uni-app 项目

2、支持有/无云开发的小程序项目转换为 uni-app 项目(cloudfunctions 目录将被忽略,uni-app 结合小程序云开发见:使用 uni-app 进行微信小程序云开发经验分享)

3、支持解析 TypeScript 小程序项目

4、支持解析使用 npm 模块的小程序项目

5、支持解析 include 标签

6、支持解析 template 标签

7、支持解析 Behavior 文件为 mixins 文件

8、支持 .js', .wxml 和 *.wxss 文件进行相应转换,并做了大量的优化

9、支持识别 App、Page、Component、VantComponent、Behavior 和纯 Javascript 文件的转换

10、修复变量名与函数重名的情况

11、合并使用 require 导入的 wxs 文件

12、setData() polyfill

13、搜索未在 data 声明,而直接在 setData() 里使用的变量,并修复

14、使用 jyf-parser 替换 wxParse(感谢网友 “爱瑞巴勒康忙北鼻” 的建议)

15、因 uni-app 会将所有非 static 目录的资源文件删除,因此将所有资源文件移入 static 目录,并修复所有能修复到的路径(目前 uni 编译时会将非 static 目录的文件复制一份到 static 目录,但并不完全,因此本功能仍保留)

不支持的转换

1、不支持转换反编译后的小程序项目

2、不支持转换使用 uni-app 编译的小程序项目

3、不支持转换使用 redux 开发的小程序(代表为:网易云信小程序 DEMO)

4、不支持转换使用 wxpage 开发的小程序(https://github.com/tvfe/wxpage)

5、不支持转换使用腾讯 omi 开发的小程序(https://github.com/Tencent/omi)

6、不支持转换小程序抽象节点 componentGenerics

7、不支持 component 里的 pageLifetimes 生命周期,请手动绕过

8、不支持使用 js 系统关键字作为函数或变量名(如 default、import、return、switch 等)

9、不支持以 \$ 开头的变量名称,如 Page({data:{$data:{name:"hello"}}}) ,刚好 \$data 是 vue 内置变量,so 不支持,需手动修复

10、不支持以动态绑定的函数


免责声明
本网站所收集的部分公开资料来源于AI生成和互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,人围观)

还没有评论,来说两句吧...

目录[+]