vue项目依赖升级报错处理方式
作者:清风明月的博客
vue项目依赖升级报错处理
1.Vue Router 升级到3.5.1报错:Navigation cancelled from "/login" to "/" with a new navigation
原因:Vue Router内部报错没有进行catch处理导致的编程式导航跳转问题,往同一地址跳转时会报错,push和replace 都会导致这个情况的发生
import Vue from 'vue' import VueRouter from 'vue-router'; Vue.use(Router) //解决Vue Router在3.0版本以上push重复点击报错 const originalPush = VueRouter.prototype.push VueRouter.prototype.push = function push(location, onResolve, onReject) { if (onResolve || onReject) return originalPush.call(this, location, onResolve, onReject) return originalPush.call(this, location).catch(err => err) } //解决Vue Router在3.0版本以上replace重复重定向报错 const originalPushs = VueRouter.prototype.replace VueRouter.prototype.replace = function replace(location, onResolve, onReject) { if (onResolve || onReject) return originalPushs.call(this, location, onResolve, onReject) return originalPushs.call(this, location).catch(err => err) } Vue.use(VueRouter);
2.依赖升级后遇到的问题由autoprefixer版本引起的 warning:
Second Autoprefixer control comment was ignored. Autoprefixer applies control comment to whole block, not to next rules
解决方法:
// 将样式中像下面的写法 /* autoprefixer: off */ .... /* autoprefixer: on */ // 改为 /* autoprefixer: ignore next */
3.编译器报: start value has mixed support, consider using flex-start instead
start值具有混合支持,请考虑改用flex-start
解决方法:
全局ctrl+F搜索align-items: start;改为align-items: flex-start;
全局ctrl+F搜索justify-content: start;改为justify-content: flex-start;
4.编译器报: end value has mixed support, consider using flex-end instead
解决方法:
全局ctrl+F搜索align-items: end;改为align-items: flex-end;
全局ctrl+F搜索justify-content: end;改为justify-content: flex-end;
当启动vue项目安装依赖时报错
当启动vue项目安装依赖时报错暂时想到四个原因:
1.node版本低,升级到新版本
2.执行npm cache clean,再重新npm install
3.如果是下载依赖包失败的话,可以使用cnpm淘宝镜像下载,或者yarn下载安装
4.报错一般都会有错误提示,根据错误提示进行操作
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。