vue的router.onError路由出错的问题
【代码】vue的router.onError路由出错的问题。
·
vue的router.onError路由出错的问题
造成路由出错的情况:
1. 跳转路由页面加载该页面js文件404时,触发router.onError
解决:
/**
* @description 监听路由错误,正则匹配对应的错误消息后,自动刷新界面
* 解决前端发版出现-跳转路由页面加载该页面js文件404时,触发router.onError的场景
*/
router.onError((error) => {
const pattern = /Loading chunk chunk-(.*)+ failed/g
const isChunkLoadFailed = error.message.match(pattern)
if (isChunkLoadFailed) {
Message({
message: '系统已升级,正在刷新本地存储,请稍候...',
type: 'warning',
duration: 1500,
offset: 60
})
location.reload()
}
})
- vite打包构建的页面写法
/**
* @description 监听路由错误,正则匹配对应的错误消息后,自动刷新界面
* 解决前端发版出现-跳转路由页面加载该页面js文件404时,触发router.onError的场景
*/
router.onError((error) => {
if (error.message.includes('Failed to fetch dynamically imported module')) {
Message({
message: '系统已升级,正在刷新本地存储,请稍候...',
type: 'warning',
duration: 1500,
offset: 60
})
location.reload()
}
})
2. vue-router跳转vue页面时,此vue文件出现了阻塞性错误
比如:.vue 页面一开始就出现语法错误:
<template>
...........
</template>
<script>
const obj = {}
console.log(obj.name.toString()) // 阻塞性错误
.............
</script>
更多推荐
已为社区贡献3条内容
所有评论(0)