foundation
File-based routing
Сопоставляйте каталог pages с маршрутами: dynamic params, nested routes, layouts, middleware и route metadata.
Nuxt строит маршруты из `pages/`: `index.vue` → `/`, `about.vue` → `/about`, `[id].vue` → dynamic segment, `[...slug].vue` catch-all. Вложенные папки — вложенные пути; `layouts/` оборачивают pages; `middleware/` до навигации.
Route rules и `definePageMeta` задают middleware, layout и auth рядом с файлом страницы.
<!-- pages/users/[id].vue -->
<script setup>
const route = useRoute();
// route.params.id
</script>
На интервью: сравнение с ручным Vue Router, route groups, как layouts сохраняют state при навигации по children.
Типовые ошибки: неверные имена dynamic params, middleware с блокирующим IO на каждую навигацию, дубли paths из параллельных экспериментов с папками.
Компромисс: скорость convention-over-configuration против изучения правил routing Nuxt.
Чеклист:
- Правила bracket dynamic и catch-all.
- meta рядом со страницей.
- Layout отдельно от data страницы.
- Lazy через dynamic import для тяжёлых частей.