Как предотвратить ленивую загрузку чугуна Vuejs до того, как навигационная охрана будет одобрена - PullRequest
0 голосов
/ 10 марта 2019

У меня определен следующий охранник навигационного маршрута:

router.beforeEach((to, from, next) => {

  if (to.matched.some(record => record.meta.authOnly)) {
      let x = store.state.login.auth;
      if( !x ) { next({ path: '/' }) }  
      else { next(); }
  } 
  else { next(); }  });

и я лениво загружаю такой компонент:

import router from '@/router'
const UserStartPage = () => import(/* webpackChunkName: "UserStartPage" */ './UserStartPage');

router.addRoutes(
 [
    { path: '/start', name: 'UserStartPage', component: UserStartPage, meta: { authOnly: true } }, 
 ]
)

Теперь, когда я вызываю этот маршрут, я вижу на вкладке сети, что чанк загружается в браузер, как только вызывается маршрут, а не после разрешения защиты навигации. Каков наилучший способ загрузить чанк только после того, как навигационный охранник подтвердит доступ к маршруту?

(единственный «хакерский» способ, который я могу придумать, - это пройти через компонент перенаправления на начальном маршруте, который затем переходит к «реальному» маршруту с чанком)

...