Error: Loading chunk * failed,Vue Router懶加載報錯問題解決方案

最近vue項目路由改爲了懶加載方式,剛開始並無什麼問題,清空項目文件,從新下載配置運行後,就發現控制檯報如下錯誤: [vue-router] Failed to resolve async component default: Error:Loading chunk 10 failed. 刷新頁面後,就不會再報錯,思來想去應該使用路由懶加載後,組件加載異常致使的,可是到底是什麼緣由,暫時不知,有知道的朋友能夠留言。 解決方案: Vue Router中有個錯誤處理函數onError,用於處理路由異常狀況,請看說明: 渲染一個路由的過程當中,須要嘗試解析一個異步組件時發生錯誤。 這種狀況想來應該是符合我們的錯誤狀況,由於刷新頁面後,就不會報錯,因此假設錯誤預想成立,那麼下一步,咱們在onError方法中,從新加載咱們的目標頁面,應該就能夠解決問題。 

請看方案: /* 路由異常錯誤處理,嘗試解析一個異步組件時發生錯誤,從新渲染目標頁面 */vue

vue.config.js中配置以下: vue-router


router.onError((error) => { const pattern = /Loading chunk (\d)+ failed/g; const isChunkLoadFailed = error.message.match(pattern); const targetPath = router.history.pending.fullPath; if (isChunkLoadFailed) { router.replace(targetPath); } })markdown

相關文章
相關標籤/搜索