乐趣区

关于vue.js:发版迭代导致懒加载路由跳转报错

后盾管理系统,vue.config.js 去掉了预加载。

当版本迭代,某个菜单发版了,当用户未刷新时,点击改菜单没有反馈。

起因是因为懒加载须要申请改菜单的 js,发版导致哈希值变动,找不到该文件。

解决方案

拦挡路由报错,进行重载页面。


router.onError((error) => {const pattern = /Loading chunk (\d)+ failed/g
  const isChunkLoadFailed = error.message.match(pattern)
  if (isChunkLoadFailed) {window.location.href = `${location.origin}${router.history.pending.fullPath}`
  } else {console.log(error)
  }
})

如何进行本地模仿调试

  1. 应用 router.beforeEach 拦挡指标路由,throw Error 模仿
  2. 应用浏览器对加载的 js 文件,进行 block 解决,阻止网络申请。(network 面板 点击指标 js, 右键抉择 Block request domain)
退出移动版