Хуки жизненного цикла
Система хуков Nuxt для расширения практически любой части приложения.
Хуки приложения (runtime)
Полный список хуков — в исходном коде приложения.
| Хук | Аргументы | Окружение | Описание |
|---|---|---|---|
app:created | vueApp | Server & Client | Вызывается при создании экземпляра vueApp. |
app:error | err | Server & Client | Вызывается при фатальной ошибке. |
app:error:cleared | { redirect? } | Server & Client | Вызывается после очистки фатальной ошибки. |
vue:setup | - | Server & Client | Вызывается при инициализации корня Nuxt. Колбэк должен быть синхронным. |
vue:error | err, target, info | Server & Client | Вызывается, когда ошибка Vue доходит до корневого компонента. Подробнее. |
app:rendered | renderContext | Server | Вызывается по завершении SSR-рендеринга. |
app:redirected | - | Server | Вызывается перед SSR-редиректом. |
app:beforeMount | vueApp | Client | Вызывается перед монтированием приложения (только на клиенте). |
app:mounted | vueApp | Client | Вызывается, когда Vue-приложение смонтировано в браузере. |
app:suspense:resolve | appComponent | Client | Событие Suspense resolved. |
app:manifest:update | { id, timestamp } | Client | Вызывается при обнаружении новой версии приложения. |
app:data:refresh | keys? | Client | Вызывается при вызове refreshNuxtData. |
link:prefetch | to | Client | Вызывается при prefetch для <NuxtLink>. |
page:start | pageComponent? | Client | Событие Suspense pending внутри NuxtPage. |
page:finish | pageComponent? | Client | Событие Suspense resolved внутри NuxtPage. |
page:loading:start | - | Client | Вызывается при запуске setup() новой страницы. |
page:loading:end | - | Client | Вызывается после page:finish. |
page:transition:finish | pageComponent? | Client | После перехода страницы (onAfterLeave). |
dev:ssr-logs | logs | Client | Вызывается с массивом серверных логов, переданных на клиент (если включено features.devLogs). |
page:view-transition:start | transition | Client | Вызывается после document.startViewTransition при включённом viewTransition. |
Хуки Nuxt (время сборки)
Полный список — в исходном коде схемы.
| Хук | Аргументы | Описание |
|---|---|---|
kit:compatibility | compatibility, issues | Расширение проверок совместимости. |
ready | nuxt | Вызывается после инициализации Nuxt, когда экземпляр готов к работе. |
close | nuxt | Вызывается при корректном завершении экземпляра Nuxt. |
restart | { hard?: boolean } | Вызывается для перезапуска текущего экземпляра Nuxt. |
modules:before | - | Вызывается при инициализации Nuxt, до установки пользовательских модулей. |
modules:done | - | Вызывается после установки пользовательских модулей. |
app:resolve | app | Вызывается после разрешения экземпляра app. |
app:templates | app | Вызывается при генерации NuxtApp — можно добавлять или менять файлы в build-директории (виртуально или в .nuxt). |
app:templatesGenerated | app | Вызывается после компиляции шаблонов в виртуальную ФС. |
build:before | - | Вызывается перед сборкой бандла Nuxt. |
build:done | - | Вызывается после завершения сборки бандла. |
build:manifest | manifest | Вызывается при сборке манифеста (Vite/webpack). Позволяет менять манифест для тегов <script> и <link> в HTML. |
builder:generateApp | options | Вызывается перед генерацией приложения. |
builder:watch | event, path | Вызывается в dev при изменении файла или каталога в проекте. |
pages:extend | pages | Вызывается после сканирования маршрутов страниц из файловой системы. |
pages:resolved | pages | Вызывается после дополнения маршрутов отсканированными метаданными. |
pages:routerOptions | { files: Array<{ path: string, optional?: boolean }> } | Вызывается при разрешении файлов router.options. Более поздние элементы переопределяют ранние. |
server:devHandler | handler | Вызывается при регистрации dev-middleware на Nitro dev-сервере. |
imports:sources | presets | Вызывается при setup — модули могут расширять источники импортов. |
imports:extend | imports | Вызывается при setup — модули могут расширять список импортов. |
imports:context | context | Вызывается при создании контекста unimport. |
imports:dirs | dirs | Расширение каталогов для импортов. |
components:dirs | dirs | Вызывается в app:resolve — расширение каталогов для автоимпорта компонентов. |
components:extend | components | Расширение списка компонентов. |
nitro:config | nitroConfig | Вызывается перед инициализацией Nitro — настройка конфигурации Nitro. |
nitro:init | nitro | Вызывается после инициализации Nitro — регистрация хуков и работа с Nitro. |
nitro:build:before | nitro | Вызывается перед сборкой Nitro. |
nitro:build:public-assets | nitro | Вызывается после копирования public-ресурсов. Позволяет менять их перед сборкой Nitro. |
prerender:routes | ctx | Расширение списка маршрутов для пререндеринга. |
build:error | error | Вызывается при ошибке сборки. |
prepare:types | options | Вызывается перед записью TS-конфигов (.nuxt/tsconfig.*.json, nuxt.d.ts) — можно добавлять references и декларации. |
listen | listenerServer, listener | Вызывается при запуске dev-сервера. |
schema:extend | schemas | Расширение схем по умолчанию. |
schema:resolved | schema | Расширение разрешённой схемы. |
schema:beforeWrite | schema | Вызывается перед записью схемы. |
schema:written | - | Вызывается после записи схемы. |
vite:extend | viteBuildContext | Расширение контекста Vite. |
vite:extendConfig | viteInlineConfig, env | Расширение конфигурации Vite. Устарело в Nuxt 5+. В Nuxt 5 используется общая конфигурация. |
vite:configResolved | viteInlineConfig, env | Доступ к разрешённой конфигурации Vite. Устарело в Nuxt 5+. В Nuxt 5 — общая конфигурация. |
vite:serverCreated | viteServer, env | Вызывается при создании Vite-сервера. |
vite:compiled | - | Вызывается после компиляции Vite-сервера. |
webpack:config | webpackConfigs | Вызывается перед настройкой компилятора webpack. |
webpack:configResolved | webpackConfigs | Доступ к разрешённой конфигурации webpack. |
webpack:compile | options | Вызывается непосредственно перед компиляцией. |
webpack:compiled | options | Вызывается после загрузки ресурсов. |
webpack:change | shortPath | Событие change в WebpackBar. |
webpack:error | - | Событие done при ошибках в WebpackBar. |
webpack:done | - | Событие allDone в WebpackBar. |
webpack:progress | statesArray | Событие progress в WebpackBar. |
Хуки Nitro (runtime, сервер)
См. Nitro для полного списка хуков.
| Хук | Аргументы | Описание | Types |
|---|---|---|---|
dev:ssr-logs | { path, logs } | Вызывается в конце цикла запроса с массивом серверных логов. | |
render:response | response, { event } | Вызывается перед отправкой ответа. | response, event |
render:html | html, { event } | Вызывается перед формированием HTML. | html, event |
render:island | islandResponse, { event, islandContext } | Вызывается перед формированием HTML острова. | islandResponse, event, islandContext |
close | - | Вызывается при закрытии Nitro. | - |
error | error, { event? } | Вызывается при ошибке. | error, event |
request | event | Вызывается при получении запроса. | event |
beforeResponse | event, { body } | Вызывается перед отправкой ответа. | event, unknown |
afterResponse | event, { body } | Вызывается после отправки ответа. | event, unknown |