Я хочу ввести ленивую загрузку в Vue Router, чтобы некоторые части кода загружались только по запросу.
Я следую официальной документации по отложенной загрузке в Vue Router: https://router.vuejs.org/en/advanced/lazy-loading.html
Итак, для теста я изменил способ импорта модуля Vault в файл моего маршрутизатора:
import Vue from 'vue';
import Router from 'vue-router';
// Containers
import Full from '@/containers/Full';
// Views
// TODO: views should be imported dynamically
import Dashboard from '@/views/Dashboard';
const Vault = () => import('@/views/Vault');
import Page404 from '@/views/Page404';
import Page500 from '@/views/Page500';
import Login from '@/views/Login';
Vue.use(Router);
export default new Router({
routes: [
{
path: '/',
redirect: '/dashboard',
name: 'VENE',
component: Full,
children: [
{
path: 'dashboard',
name: 'dashboard',
component: Dashboard
},
{
path: 'vault',
name: 'vault',
component: Vault
},
],
},
{
path: '/login',
name: 'Login',
component: Login,
},
{
path: '/404',
name: 'Page404',
component: Page404,
},
{
path: '/500',
name: 'Page500',
component: Page500,
},
],
});
Все в порядке, однако, когда я впервые открываю приложение, извлеченный пакет, который должен был загружаться лениво, загружается заранее:
Когда я перехожу к этому представлению с помощью маршрутизатора, оно снова появляется на вкладке Dev Tools Network, но говорит, что загружено с диска, поэтому пакет явно загружается при загрузке первой страницы, что полностью противоречит идее ленивой загрузки сильный>.