Vuejs Асинхронный маршрутизатор c Компонент - PullRequest
0 голосов
/ 07 мая 2020

Я запускаю приложение vue с npm run serve. Я вставляю компоненты в маршруты асинхронно, и, на мой взгляд, происходит что-то странное, так как когда я даже не на этом пути, он показывает мне ошибку о компоненте другого пути, говоря, что файл отсутствует ... и это правда, он отсутствует ... но разве это не должно быть введено, когда я нахожусь на этом пути? Похоже, что компонент уже импортирован ...

 const router = new VueRouter({
    routes: [ 
       { path: '/login', component: () => import('./pages/login.vue') },
       { path: '/register', component: () => import('./pages/register.vue') },
    ]

Я вижу эту ошибку в компиляторе

./src/main.js
Module not found: Error: Can't resolve './pages/register.vue' in '/home/daniel/work/someapp/frontend/src' 

и путь / логин, конечно, все работает правильно, когда я создаю страница регистрации ... просто не понимаю, почему она импортируется, когда маршрут еще не загружен.

1 Ответ

0 голосов
/ 07 мая 2020

Вы правы.

Вы не получите ошибку, пока не перейдете к тому маршруту, который имеет ошибочный путь импорта.

Однако вы указали /login для обоих логинов и зарегистрируйтесь.

Итак, если путь импорта компонента регистра неверен, вы получите сообщение об ошибке.

Вот тривиальная реализация, которая демонстрирует то же самое.

При переходе к категориям вы увидите ошибку. Но главная, новости и списки будут работать правильно.

Edit Lazy loading routes with VueRouter

...