fix: page error load

This commit is contained in:
engigu
2026-03-04 23:19:13 +08:00
parent 36ab8ec93f
commit e47eb5c662
2 changed files with 19 additions and 0 deletions
+5
View File
@@ -5,6 +5,11 @@ import 'vue-sonner/style.css'
import App from './App.vue'
import router from './router'
window.addEventListener('vite:preloadError', () => {
console.log('Detected vite preload error. Reloading page...')
window.location.reload()
})
createApp(App)
.use(router)
.use(VueMonacoEditorPlugin, {
+14
View File
@@ -79,4 +79,18 @@ router.beforeEach(async (to, _from, next) => {
}
})
// 捕获动态导入(Chunk)加载失败异常(部署新版本时发生)
router.onError((error) => {
const isChunkLoadFailed = error.message && error.message.includes('Failed to fetch dynamically imported module')
if (isChunkLoadFailed) {
if (!sessionStorage.getItem('__chunk_reloaded__')) {
sessionStorage.setItem('__chunk_reloaded__', 'true')
window.location.reload()
} else {
console.error('动态模块加载持续失败', error)
sessionStorage.removeItem('__chunk_reloaded__')
}
}
})
export default router