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.报错一般都会有错误提示,根据错误提示进行操作 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

你可能感兴趣的:(vue项目依赖升级报错处理方式)