Vue3已经成为了正式版本,Vue2也落下了帷幕,是时候对项目进行升级重构了。
注意📢:项目升级有风险,做好备份是当然!!!
每个项目的脚手架不同,升级步骤也有所差异,详细文档还请移步至☞Vue官方文档,下面的内容只针对与Vue cli 脚手架升级步骤,及可能遇到的一些问题做记录,方便后者直接升级,少走弯路。
相关文档
开始升级
- 查看自己项目的Vue cli版本号(对应的应该是@vue/cli 5.x 版本)
vue -V
- 升级Vue cli 版本
npm i -g @vue/cli
- 升级脚手架的依赖
vue upgrade
- 安装Vue最新版本和相同版本的@vue/compat
npm i vue @vue/compat -S
- 为了确保项目的依赖为最新的,需要删除项目中的node_modules 文件夹
- 在次安装项目的依赖(并确保安装的依赖是你最新的依赖)
npm i
- 运行项目,根据报错去解决问题
npm run serve
- 可能遇到的问题
| 问题 | 解决办法 | 备注 |
|---|---|---|
| 打开浏览器插件不兼容 | 暂时注释 | OpenBrowserPlugin 插件不能正确使用 |
| “css.requireModuleExtension"is not allowed | 修改vue.config.js配置 | requireModuleExtension:true//注释掉或者删除 |
| options has an unknown property 'before'.These properties are valid: | 修改vue.config.js配置 | devServer配置不支持这种写法,需要注释掉 |
| options has an unknown property 'hotOnly'.These properties are valid: | 修改vue.config.js配置 | devServer配置不支持这种写法,需要注释掉 |
- 目前项目能运行起来,需要安装gogocode 用来把Vue2的代码转换成Vue3的代码
npm i gogocode-cli -g
- gogocode官方文档支持命令更新项目依赖,(个人建议还是自己手动安装比较靠谱)
gogocode -s package.json -t gogocode-plugin-vue -o package.json
- 利用 gogocode把Vue2的代码升级到Vue3 (-s 后面是原文件的目录/文件名,-o 后面是输出的目录/文件名,如果两者相同,转换插件会覆盖你的代码,在此操作前请做好备份)
gogocode -s ./src -t gogocode-plugin-vue -o ./src-out
- 运行结束之后可以启动项目。根据提示修改部门不兼容的代码