Хуки жизненного цикла

В Nuxt есть мощная система хуков, с помощью которой можно расширять почти любой аспект приложения.
Узнать больше Docs > 3 X > Guide > Going Further > Hooks.

Хуки приложения (время выполнения)

Полный список хуков см. Исходный код.

ХукАргументыСредаОписание
app:createdvueAppСервер и клиентВызывается при создании начального экземпляра vueApp.
app:errorerrСервер и клиентВызывается при фатальной ошибке.
app:error:cleared{ redirect? }Сервер и клиентВызывается после сброса фатальной ошибки.
vue:setup-Сервер и клиент(внутренний)
vue:errorerr, target, infoСервер и клиентВызывается, когда ошибка Vue доходит до корневого компонента. Подробнее.
app:renderedrenderContextСерверВызывается по завершении SSR-рендеринга.
app:redirected-СерверВызывается перед SSR-редиректом.
app:beforeMountvueAppКлиентВызывается перед монтированием приложения; только на клиенте.
app:mountedvueAppКлиентВызывается, когда Vue-приложение инициализировано и смонтировано в браузере.
app:suspense:resolveappComponentКлиентВызывается при разрешении Suspense.
app:manifest:update{ id, timestamp }КлиентВызывается при обнаружении новой версии приложения.
app:data:refreshkeys?Сервер и клиентВызывается при вызове refreshNuxtData.
link:prefetchtoКлиентВызывается при предзагрузке маршрута по ссылке для <NuxtLink>.
page:startpageComponent?КлиентВызывается при ожидании Suspense.
page:finishpageComponent?КлиентВызывается при разрешении Suspense.
page:loading:start-КлиентВызывается при запуске setup() для новой страницы.
page:loading:end-КлиентВызывается после page:finish.
page:transition:finishpageComponent?КлиентПосле хука перехода страницы onAfterLeave.
dev:ssr-logslogsКлиентВызывается с массивом серверных логов, пересылаемых на клиент (если включено features.devLogs).
page:view-transition:starttransitionКлиентВызывается после document.startViewTransition, если включена экспериментальная поддержка View Transitions API.

Хуки Nuxt (время сборки)

Полный список хуков см. Исходный код (схема хуков).

ХукАргументыОписание
kit:compatibilitycompatibility, issuesРасширение проверок совместимости.
readynuxtВызывается после инициализации Nuxt, когда экземпляр Nuxt готов.
closenuxtВызывается при завершении работы экземпляра Nuxt.
restart{ hard?: boolean }Перезапуск текущего экземпляра Nuxt.
modules:before-Вызывается при инициализации Nuxt до установки пользовательских модулей.
modules:done-Вызывается при инициализации Nuxt после установки пользовательских модулей.
app:resolveappВызывается после разрешения экземпляра app.
app:templatesappВызывается при генерации NuxtApp для настройки, изменения или добавления файлов в каталог сборки (виртуально или записью в .nuxt).
app:templatesGeneratedappВызывается после компиляции шаблонов в виртуальную файловую систему (vfs).
build:before-Вызывается до старта сборщика бандла Nuxt.
build:done-Вызывается после завершения сборки бандла Nuxt.
build:manifestmanifestВызывается при сборке манифеста в Vite и webpack. Позволяет настроить манифест Nitro для рендеринга тегов <script> и <link> в итоговом HTML.
builder:generateAppoptionsВызывается перед генерацией приложения.
builder:watchevent, pathВызывается при dev-сборках, когда наблюдатель обнаруживает изменения файлов или каталогов.
pages:extendpagesВызывается после сканирования маршрутов страниц с файловой системы.
pages:resolvedpagesВызывается после обогащения маршрутов страниц просканированными метаданными.
pages:routerOptions{ files: Array<{ path: string, optional?: boolean }> }Вызывается при разрешении файлов router.options. Более поздние элементы массива переопределяют более ранние.
server:devHandlerhandlerВызывается при регистрации middleware на dev-сервере Nitro.
imports:sourcespresetsВызывается при настройке, чтобы модули могли расширять источники импорта.
imports:extendimportsВызывается при настройке, чтобы модули могли расширять импорты.
imports:contextcontextВызывается при создании контекста unimport.
imports:dirsdirsРасширение каталогов импорта.
components:dirsdirsВызывается внутри app:resolve для расширения каталогов сканирования автоимпортируемых компонентов.
components:extendcomponentsРасширение зарегистрированных компонентов.
nitro:confignitroConfigВызывается до инициализации Nitro, чтобы можно было настроить Nitro.
nitro:initnitroВызывается после инициализации Nitro для регистрации хуков Nitro и прямой работы с Nitro.
nitro:build:beforenitroВызывается до сборки экземпляра Nitro.
nitro:build:public-assetsnitroВызывается после копирования публичных ресурсов. Позволяет изменить публичные ресурсы до сборки сервера Nitro.
prerender:routesctxРасширение маршрутов для пререндера.
build:errorerrorВызывается при ошибке сборки.
prepare:typesoptionsВызывается до записи @nuxt/cli файлов .nuxt/tsconfig.json и .nuxt/nuxt.d.ts, чтобы добавить пользовательские ссылки и объявления в nuxt.d.ts или изменить параметры tsconfig.json.
listenlistenerServer, listenerВызывается при загрузке dev-сервера.
schema:extendschemasРасширение схем по умолчанию.
schema:resolvedschemaРасширение итоговой схемы.
schema:beforeWriteschemaВызывается перед записью схемы.
schema:written-Вызывается после записи схемы.
vite:extendviteBuildContextРасширение контекста сборки Vite по умолчанию.
vite:extendConfigviteInlineConfig, envРасширение конфигурации Vite по умолчанию.
vite:configResolvedviteInlineConfig, envЧтение итоговой конфигурации Vite.
vite:serverCreatedviteServer, envВызывается при создании сервера Vite.
vite:compiled-Вызывается после завершения компиляции на сервере Vite.
webpack:configwebpackConfigsВызывается до настройки компилятора webpack.
webpack:configResolvedwebpackConfigsЧтение итоговой конфигурации webpack.
webpack:compileoptionsВызывается непосредственно перед компиляцией.
webpack:compiledoptionsВызывается после загрузки ресурсов.
webpack:changeshortPathВызывается при событии change в WebpackBar.
webpack:error-Вызывается при done с ошибками в WebpackBar.
webpack:done-Вызывается при allDone в WebpackBar.
webpack:progressstatesArrayВызывается при progress в WebpackBar.

Хуки приложения Nitro (время выполнения, на сервере)

Полный список хуков см. в документации Nitro.

ХукАргументыОписаниеТипы
dev:ssr-logs{ path, logs }Вызывается в конце цикла запроса с массивом серверных логов.-
render:responseresponse, { event }Вызывается перед отправкой ответа.response, event
render:htmlhtml, { event }Вызывается перед генерацией HTML.html, event
render:islandislandResponse, { event, islandContext }Вызывается перед генерацией HTML острова.islandResponse, event, islandContext
close-Вызывается при закрытии Nitro.-
errorerror, { event? }Вызывается при возникновении ошибки.error, event
requesteventВызывается при получении запроса.event
beforeResponseevent, { body }Вызывается перед отправкой ответа.event, unknown
afterResponseevent, { body }Вызывается после отправки ответа.event, unknown