首页 > 其他分享 >项目vue2升级vue3

项目vue2升级vue3

时间:2023-08-10 17:24:57浏览次数:43  
标签:vue cli 升级 vue2 vue3 迁移

Vue2迁移vue3操作指南

一、前言

有个自动化迁移工具gogocode-cli,尝试后发现不好用且得不偿失,就放弃了,感兴趣的可以去了解一下,本指南选择手动迁移

迁移开始之前,我们先来梳理下思路:

现在有一个vue2的项目,
首先我们升级框架,
得到了一个vue3的框架,但是上面放着vue2的代码,跑不起来,
然后我们安装并配置迁移构建版本(@vue/compat),
通过它能够在vue3的框架上跑绝大多数vue2的代码(兼容与否可自行配置)
接下来我们逐个迁移,将vue2的代码替换成vue3的写法,
如果项目中有必须依赖vue2的东西,就只能通过迁移构建版本兼容,
如果能完全vue3化,则迁移完毕后,删除迁移构建版本

注意,如果跟着本文档一步步迁移,则中途可以先不运行项目,将已知的迁移步骤完成后,再运行项目,解决剩余没有提及到的可能存在的问题

 

二、迁移过程

1.升级依赖

修改package.json文件(仅供参考,如果你项目用了不同的依赖配置,升级成适配vue3的就行了)

  • 升级vue、vuex、vue-router、@vue/cli-service
  • 新增@vue/compat
  • 替换element-ui 为 element-plus
  • 替换vue-template-compiler 为 @vue/compiler-sfc
  • 删除@babel/plugin-transform-runtime (因为@vue/cli-plugin-babel里本就包含了它)

然后删除node_modules,删除lock文件,重新执行npm install

这里可以先暂时不考虑其他依赖的升级适配,放到后面进行

参考代码:

 

标签:vue,cli,升级,vue2,vue3,迁移
From: https://www.cnblogs.com/miangao/p/17620946.html

相关文章

  • 【通知】2020年有三AI-CV夏季划升级倒计时,最后两天
    有三AICV夏季划发布于2019年6月10日,是有三亲自带领的师徒学习季划,为已经在计算机视觉领域,但是项目经验欠缺,落地能力较差的朋友准备。2020年6月20日起将进行升级,增加更多的项目,更高的难度。下面请听完整的介绍。整个学习内容夏季划是给以下选手准备的,目标是较深入地掌握若干计算机......
  • 【通知】2020年有三AI-CV夏季划升级,更多项目,更高难度,更加落地
    有三AICV夏季划发布于2019年6月10日,是有三亲自带领的师徒学习季划,为已经在计算机视觉领域,但是项目经验欠缺,落地能力较差的朋友准备。2020年6月20日起将进行升级,增加更多的项目,更高的难度。下面请听完整的介绍。整个学习内容夏季划是给以下选手准备的,目标是较深入地掌握若干计算机......
  • 【通知】有三个人指导以及VIP星球6月份之后升级,你的专属AI顾问了解一下
    文/编辑|言有三所以对于有长期需求的朋友,有三提供有偿个人技术指导,这就是有三AIVIP会员(我们正在打算设计实体卡),这样既能够让有刚需的朋友得到指导,又可以省去我很多麻烦。谁需要VIP指导这里介绍的是言有三本人提供的针对个人的VIP指导,主要面向以下人群。(1) 需要不定期技术支......
  • vue3源码入口
    vue有两个阶段  分为编译时和运行时webpack  把vue模板编译生成对应的js代码,vue组件组件对应的template模板会被编译器转化为render函数。 运行时编译后代码执行render函数并返回VNode,最后将VNode渲染成真实的DOM节点createApp>ensureRenderer>createRenderer>ba......
  • Vue3中的defineProps方法
    1.什么是definePropsdefineProps是Vue3中的一种新的组件数据传递方式,可以用于在子组件中定义接收哪些父组件的props。当父组件的props发生变化时,子组件也会随之响应。2.如何使用defineProps?在子组件中可以使用defineProps声明该组件需要接收的props,它需要传递一个包含props字段......
  • 瑞熙贝通高校智慧实验室建设项目管理全面升级信息化助力提高效率
    一、系统概述实验室的建设与发展规划,要纳入学校及事业总体发展规划,要考虑环境、设施、仪器设备、人员结构、经费投入等综合配套因素,按照立项、论证、实施、监督、竣工、验收、效益考核等“项目管理”办法的程序,由学校或上级主管部门统一归口,全面规划。但现实建设和管理过程中,仍然存......
  • vue3 + vite + vue-router 4.x项目在router文件中使用pinia报错
    1.背景vue-router4.x版本,想在路由文件中引入并使用pinia后报错如下:表面意思是getActivePinia()方法在pinia还没有激活的时候被调用,导致报错。2.解决方法在stores文件夹下新建pinia.js文件,用来引入并创建pinia实例。import{createPinia}from"pinia";const......
  • 在vue2 v-bind中使用console.log
    <el-submenuv-for="(item,index)inmenuList":key="index":index="console.log(item.name)||item.name"> main.jsVue.prototype.console=console 参考:https://stackoverflow.com/questions/51......
  • Ubuntu22.04做了个软件升级后搜狗输入法不能用了...[已解决]
    就是跟往常一样做了一个软件升级操作:sudoaptupdatesudoaptupgrade升级了几百兆的软件包之后,突然系统桌面死掉了(鼠标无反应,键盘输入以及组合键操作均无反应,但是Fn键指示灯还有反应),所以只能硬重启了。重启后发现搜狗输入法不能用了,候选词框一直出不来,所以也就无法正常输......
  • centos安装rpm升级
    网站制作目录:1、CentOS7如何使用rpm包安装mysql5.7.18的详细介绍2、centos7怎么安装rpm软件包3、如何在CentOS/RHEL上安装或升级新的内核版本4、cleanmymac这个软件怎么样?5、如何用CentOS7安装MySQL5.7(RPM安装)CentOS7如何使用rpm包安装mysql5.7.18的详细介绍如果提示......