vue2升级vue3
我的思路有两个:
- 新建vite+vue3+ts项目
- 写一个自动迁移工具(但是需要了解webpack和vue2 与 vue3版本完全不兼容的语法或api)
参考文档:
- vue3迁移指南 https://v3-migration.vuejs.org/zh/
- @vue/compat的使用: https://article.juejin.cn/post/7401824176229384226
整体流程
- webpack --> vite
- 语法暂时不动
- vant控件暂时不动
- 硬件交互需要使用postMessage调用uniapp的语法,然后在uniapp的页面进行调用。
最稳定的升级方法(不需要重新梳理逻辑)
- 新建一个vite+vue3项目
- 先迁移webpack的构建配置
- 页面单独一个个迁移,组件直接复制过来
- 安装并配置迁移构建版本@vue/compat(注意node版本)
- 运行,查看浏览器控制台报错-----> 解决它
- 开启一个uniapp的空项目,使用webview来进行套壳
- 使用postmessage进行与uniapp进行通信,实现调硬件的功能
- 打包
语法可以慢慢进行升级,等完全改成vue3的语法的时候,删掉@vue/compat
实战:
- 新建一个vue3+ts+vite的项目,记录下node和npm的版本号
js
node: v20.20.2
npm : v10.8.2迁移vite配置
vue2与vue3不兼容的组件库:
element-ui ----> element-plus
iView ----> view-ui-plus Vue-Quill-Editor ---> @vueup/vue-quill没用的js库 FastClick ----> 删除,浏览器已经不存在这个问题了
