Ядро темы
Vue Router — официальная библиотека маршрутизации SPA для Vue: связывает URL с деревом компонентов без полной перезагрузки страницы.
Возможности
- Вложенные маршруты и вложенные
<router-view>
- Компонентный конфиг:
path / component / children / meta
- Params, query, hash, wildcards / catch-all
- Navigation guards (
beforeEach, per-route, in-component)
router-link с автоматическими active-классами
- History или hash mode
- Lazy routes:
() => import('./Page.vue')
- Scroll behavior, transitions вокруг outlet
import { createRouter, createWebHistory } from 'vue-router'
export const router = createRouter({
history: createWebHistory(),
routes: [
{ path: '/', component: () => import('./Home.vue') },
{ path: '/users/:id', component: () => import('./User.vue'), meta: { auth: true } },
],
})
Guards читают meta для auth/title — типичный middle-уровень вопроса рядом с «что такое router».
Итог
Vue Router = URL ↔ UI + контроль навигации. Для Vue-SPA это стандарт; важно уметь history vs hash и lazy routes.