后盾管理系统,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) }})
如何进行本地模仿调试
- 应用
router.beforeEach
拦挡指标路由,throw Error 模仿 - 应用浏览器对加载的js文件,进行block解决,阻止网络申请。(network面板 点击指标js,右键抉择 Block request domain)