Vue Loading chunk(d)+failed問題の解決
6421 ワード
import Vue from 'vue';
import Router from 'vue-router';
//
// 1, import , js, , ,
// import Page404 from '@/pages/Page404';
// import Indexfrom '@/pages/index';
// 2, , , , "Loading chunk {n} failed" 1,
const Page404 = resolve => require(['@/pages/Page404'], resolve);
const Index= resolve => require(['@/pages/index'], resolve);
Vue.use(Router);
const $router = new Router({
mode: 'history',
// vue bug
scrollBehavior (to, from, savedPosition) {
return { x: 0, y: 0 }
},
routes: [
{
path: '*',
name: page404
component: Page404
},
{
path: '/index',
name: index
component: Index
},
]
})
// Loading chunk (\d)+ failed
$router.onError((error) => {
const pattern = /Loading chunk (\d)+ failed/g;
const isChunkLoadFailed = error.message.match(pattern);
if(isChunkLoadFailed){
// replace , F5 , js , replace , location.reload , F5 , , ,
location.reload();
// const targetPath = $router.history.pending.fullPath;
// $router.replace(targetPath);
}
});
export default $router;
参考資料、MudOnTireの文章に感謝して問題を解決する方法を見つけました:https://segmentfault.com/a/1190000016382323