Структура каталогов Nuxt
Как устроены папки Nuxt-приложения и как ими пользоваться.
У Nuxt есть соглашённая структура каталогов: так проще ориентироваться и держать проект единообразным.
Корень проекта
Корень — это каталог с файлом nuxt.config.ts. В нём задаётся конфигурация приложения.
Каталог приложения
Связано с универсальным (клиент+сервер) приложением:
assets/: ресурсы, которые обрабатывает сборщик (Vite или webpack)components/: Vue-компонентыcomposables/: композаблы Vuelayouts/: обёртки страниц без лишнего перемонтирования при навигацииmiddleware/: код до перехода на маршрутpages/: файловая маршрутизацияplugins/: плагины Vue и другое при старте приложенияutils/: утилиты для компонентов, композаблов и страниц
Отдельные файлы:
app.config.ts: реактивная конфигурация приложенияapp.vue: корневой компонентerror.vue: страница ошибок
public/
public/ — статика без обработки сборщиком: отдаётся с корня сайта. Подходит для robots.txt, favicon.ico и других файлов с фиксированными именами.
server/
server/ — серверный код:
api/: API-маршрутыroutes/: серверные маршруты (например динамический/sitemap.xml)middleware/: до обработки серверного маршрутаplugins/: при старте Nitro-сервераutils/: утилиты для серверного кода
shared/
shared/ — код, общий для Vue-приложения и сервера Nitro.
content/
content/ используется вместе с модулем Nuxt Content — файловой CMS на Markdown.
modules/
modules/ — локальные модули, расширяющие Nuxt.
layers/
layers/ — переиспользуемые слои: код, компоненты, композаблы и конфигурация; слои из этой папки подключаются автоматически.
Файлы Nuxt
nuxt.config.ts— основная конфигурацияpackage.json— зависимости и скриптыtsconfig.json— настройки TypeScript (часто расширяет сгенерированный.nuxt/tsconfig.json).nuxtrc— альтернативный формат (удобно для глобальных настроек).nuxtignore— исключения в корне на этапе сборки