Vue Loading chunk(d)+failed問題の解決


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