vue2升级vue3

1. 背景

最近在写一个项目,整个技术框架是vue2+ts, 当时为了支持ts,做了相应的配置和插件,等开始写的时候,又发现有一堆的修饰器,真心累了。想着痛定思痛还是升吧。那么,vue2转vue3需要怎么配置呢?。

2. 根据你的项目背景自己选

1)工具gogocode

如果项目是用vue-cli搭的,就可以用gogocode,用gogocode升之前,建议把vue-cli升级至3.0及以上版本。官方迁移地址:https://gogocode.io/zh/docs/vue/vue2-to-vue3

2)手动迁移

手动迁移,可参考这篇:https://www.cnblogs.com/miangao/p/17620946.html#autoid-2-32-0

3. 用gogocode迁移步骤

1)全局安装最新的 gogocode-cli

npm install gogocode-cli -g

2)项目src下文件备份

做这个主要是怕转换工具出错,把原先的项目代码给覆盖了,因此可以先备份一下。

3)升级src路径下的vue代码

gogocode -s ./src -t gogocode-plugin-vue -o ./src-out 

在这里执行的时候,我的项目执行出错了,看了一下,报错问题是项目的node版本过低,需升级才可以迁移,升级node:

sudo n v18.12.1

18.12.1这个版本应该够了,升级后,再执行之前那个步骤,截图如下:
转换成功截图

4)升级依赖

gogocode -s package.json -t gogocode-plugin-vue -o package.json

这条命令主要是把 package.json 里面的 Vue/Vuex/Vue-router/Vue 等编译工具升级到适配 Vue3 的版本
升级依赖成功截图

5)安装依赖

npm install

4. 升级之后

以上步骤完成后,将转换后的输出文件src-out重命名为src文件,打开文件,可以发现里面还有一堆报红的问题,别焦虑哈,我们继续往下解决。

1)RouteConfig报错,这里是因为vue3对路由接口做个更改

在这里插入图片描述
改成
在这里插入图片描述
可参考地址:https://vue3.chengpeiquan.com/router.html,其中“了解vue3”中有写。

2)vue文件内部,这个需要把项目里的每个页面都需要手动修改

在这里插入图片描述
改成:
在这里插入图片描述

3)App报错

在这里插入图片描述
改成:
在shims-vue.d.ts文件中添加如下:

declare module '*.vue' {
 import type { DefineComponent } from 'vue'
 const component: DefineComponent<{}, {}, any>
 export default component
}

可参考地址:https://segmentfault.com/q/1010000042300784

4) 命名报错

在这里插入图片描述
改成:
.eslintrc.js 添加

rules: {
	"vue/multi-word-component-names": [
      "error",
      {
        ignores: ["index"], //需要忽略的组件名
      },
    ]
}

在这里插入图片描述

5) 这个问题主要是因为路由里我配了path:“/*”导致报错了

在这里插入图片描述
改成:
在这里插入图片描述

6)npm run server后有警告

在这里插入图片描述

改成:
在这里插入图片描述

5.总结

整体下来升级过程还算挺顺利,但升级后会因为项目情况有各类报错问题,大部分其实都是好解决的,除开项目中如果引入了一些三方依赖,那就可能需要先卸载掉,再重新装最新的。

  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
升级Vue中的echarts版本可以通过以下步骤完成: 1. 首先,你需要在项目的`package.json`文件中找到`echarts`的依赖项。这个依赖项指定了当前使用的echarts版本。 2. 然后,你可以使用npm或yarn等包管理工具来更新echarts的版本。你可以运行以下命令来更新依赖项: ``` npm install echarts@最新版本 --save ``` 或者 ``` yarn add echarts@最新版本 ``` 这将会安装最新版本的echarts并更新你的项目依赖。 3. 接下来,你需要在Vue的`main.js`文件中更新echarts的引入方式。根据你的需求,你可以选择按需引入或者直接引入整个echarts库。 - 如果你选择按需引入,你可以使用以下代码: ```javascript import Echarts from 'echarts/lib/echarts' import 'echarts/lib/chart/pie' import 'echarts/lib/chart/bar' import 'echarts/lib/chart/line' Vue.prototype.$echarts = Echarts ``` - 如果你想引入整个echarts库,你可以使用以下代码: ```javascript import * as echarts from 'echarts' Vue.prototype.$echarts = echarts ``` 4. 最后,你可以在Vue组件中使用`this.$echarts`来访问echarts实例,并使用新版本的echarts功能。 请注意,升级echarts版本可能会导致一些API的变化,你可能需要根据新版本的文档来更新你的代码。同时,确保你的项目中没有其他地方直接引入旧版本的echarts,以避免冲突和版本不一致的问题。 #### 引用[.reference_title] - *1* [echarts配置vue版本](https://blog.csdn.net/qq_41298861/article/details/125251811)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Vue按需引入Echarts,并从V4版本升级到V5版本](https://blog.csdn.net/baichi2695/article/details/118755575)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [vue中使用的echarts从4.x升级到5.x](https://blog.csdn.net/WeiflR10/article/details/124427923)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值