fix: page error load
This commit is contained in:
@@ -5,6 +5,11 @@ import 'vue-sonner/style.css'
|
|||||||
import App from './App.vue'
|
import App from './App.vue'
|
||||||
import router from './router'
|
import router from './router'
|
||||||
|
|
||||||
|
window.addEventListener('vite:preloadError', () => {
|
||||||
|
console.log('Detected vite preload error. Reloading page...')
|
||||||
|
window.location.reload()
|
||||||
|
})
|
||||||
|
|
||||||
createApp(App)
|
createApp(App)
|
||||||
.use(router)
|
.use(router)
|
||||||
.use(VueMonacoEditorPlugin, {
|
.use(VueMonacoEditorPlugin, {
|
||||||
|
|||||||
@@ -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
|
export default router
|
||||||
|
|||||||
Reference in New Issue
Block a user