本次升级的项目用的是开源项目vue-element-admin,针对这个项目网上已有了很多升级vue3的经验,本次升级也主要参考 升级 Vue3 的最后一块拼图,快试试这个工具自动升级你的 Element 老项目
具体升级过程上面的链接写的已经很清楚了,主要通过gogocode工具完成大部分升级工作,因此这里主要记录一下上面链接中未提及的升级点以及打包工具从webpack升级到vite的过程
webpack4 -> vite4
-
用create-vue直接生成最新的vite4开发环境,将生成的配置文件拷贝到当前目录,然后删除webpack4相关配置文件即可
执行命令 npm create vue@3,按步骤操作即可
-
package.json修改
vue全家桶升级到最新版本
保留旧的dependencies,升级相关包的版本,保留create-vue中生成的package.json里面的devDependencies,旧的devDependencies多是关于webpack的相关包,直接移除即可
-
代码修改
-
path问题
webpack4会提供运行时path,vite不再提供,因此用path-browserify 代替path,并且要安装process,在vite中配置注入process
-
svg图标批量导入问题
-
环境变量问题
代码中不能再通过process.env来访问环境变量,而要通过 import.meta.env来访问,且环境变量需要以VITE开头
-
其他一些改动点
-
css的/deep/写法改成 ::v-deep,这种方式全局替换即可,但是这种形式也被废弃了,但是还能用,后续写法应该是:deep()
-
element3的日期插件由moment改成了dayjs,ElDatePicker类型的format和valueFormat需要手动修改,全局替换即可format=”yyyy-mm-dd”替换成format=”YYYY-MM-DD”, 这个点感觉应该是gogocode应该处理的问题,不知道为啥没有自动升级
-
升级成element-plus后边框样式调整:默认用的.el-input__wrapper的box-shadow模拟的边框,设置125%的DPI后会产生模糊的情况,把box-shadow设为none,改回用border