Введение в серверную папку в Nuxt
В основном учебнике вы уже собирали
обработчики в server/api. Такие
файлы всегда отвечают по адресам
с префиксом /api/ и обычно
возвращают JSON для страниц и форм.
Это важная часть серверной стороны,
но не единственная: в Nuxt 4 весь
серверный код живёт в корневой папке
server, и у неё есть и другие
подкаталоги с отдельными правилами.
Высший учебник смотрит на оставшиеся
возможности этой папки. Файлы в
server/routes могут отвечать
на любой URL проекта, не только
на /api/: простой текст, редирект,
служебный ответ для мониторинга.
Код в server/middleware выполняется
на сервере до того, как сработает
конкретный обработчик маршрута:
удобно для общих заголовков, логирования
или чтения пути запроса.
Чистые функции без привязки к одному
адресу складывают в server/utils.
Nuxt подхватывает их для файлов внутри
server так же, как утилиты
из app/utils для страниц.
Отдельно от клиентских плагинов в
app/plugins существуют
server/plugins: они запускаются
один раз при старте сервера и могут
подготовить контекст для каждого
входящего запроса.
И наконец, не всё общее должно жить
только на сервере или только в
браузере. Каталог shared в корне
проекта хранит модули, которые импортируют
и страницы Vue, и обработчики в
server через алиас #shared.
Один и тот же формат денег или склейка
имени не дублируется в двух местах.
Примеры раздела написаны на JavaScript
в структуре Nuxt 4: страницы в
app/pages, серверные файлы
с расширением .js. Проверять
их удобно в проекте my-app
после npm create nuxt@latest
и запуска npm run dev. Каждый
урок разбирает один приём и не
опирается на файлы из соседней темы:
можно повторять шаги в чистом каталоге
или постепенно наращивать один учебный
проект по мере прохождения раздела.
JSON API из server/api здесь
не повторяем: вы уже знаете
defineEventHandler и ответы
объектами для клиента. В следующих
шагах раздела мы будем опираться
на эту базу и смотреть, как сервер
Nuxt обслуживает запросы шире,
чем один префикс /api.