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 для тяжёлых частей.