Хуки жизненного цикла
В Nuxt есть мощная система хуков, с помощью которой можно расширять почти любой аспект приложения.
Хуки приложения (время выполнения)
Полный список хуков см. Исходный код.
| Хук | Аргументы | Среда | Описание |
|---|---|---|---|
app:created | vueApp | Сервер и клиент | Вызывается при создании начального экземпляра vueApp. |
app:error | err | Сервер и клиент | Вызывается при фатальной ошибке. |
app:error:cleared | { redirect? } | Сервер и клиент | Вызывается после сброса фатальной ошибки. |
vue:setup | - | Сервер и клиент | (внутренний) |
vue:error | err, target, info | Сервер и клиент | Вызывается, когда ошибка Vue доходит до корневого компонента. Подробнее. |
app:rendered | renderContext | Сервер | Вызывается по завершении SSR-рендеринга. |
app:redirected | - | Сервер | Вызывается перед SSR-редиректом. |
app:beforeMount | vueApp | Клиент | Вызывается перед монтированием приложения; только на клиенте. |
app:mounted | vueApp | Клиент | Вызывается, когда Vue-приложение инициализировано и смонтировано в браузере. |
app:suspense:resolve | appComponent | Клиент | Вызывается при разрешении Suspense. |
app:manifest:update | { id, timestamp } | Клиент | Вызывается при обнаружении новой версии приложения. |
app:data:refresh | keys? | Сервер и клиент | Вызывается при вызове refreshNuxtData. |
link:prefetch | to | Клиент | Вызывается при предзагрузке маршрута по ссылке для <NuxtLink>. |
page:start | pageComponent? | Клиент | Вызывается при ожидании Suspense. |
page:finish | pageComponent? | Клиент | Вызывается при разрешении Suspense. |
page:loading:start | - | Клиент | Вызывается при запуске setup() для новой страницы. |
page:loading:end | - | Клиент | Вызывается после page:finish. |
page:transition:finish | pageComponent? | Клиент | После хука перехода страницы onAfterLeave. |
dev:ssr-logs | logs | Клиент | Вызывается с массивом серверных логов, пересылаемых на клиент (если включено features.devLogs). |
page:view-transition:start | transition | Клиент | Вызывается после document.startViewTransition, если включена экспериментальная поддержка View Transitions API. |
Хуки Nuxt (время сборки)
Полный список хуков см. Исходный код (схема хуков).
| Хук | Аргументы | Описание |
|---|---|---|
kit:compatibility | compatibility, issues | Расширение проверок совместимости. |
ready | nuxt | Вызывается после инициализации Nuxt, когда экземпляр Nuxt готов. |
close | nuxt | Вызывается при завершении работы экземпляра Nuxt. |
restart | { hard?: boolean } | Перезапуск текущего экземпляра Nuxt. |
modules:before | - | Вызывается при инициализации Nuxt до установки пользовательских модулей. |
modules:done | - | Вызывается при инициализации Nuxt после установки пользовательских модулей. |
app:resolve | app | Вызывается после разрешения экземпляра app. |
app:templates | app | Вызывается при генерации NuxtApp для настройки, изменения или добавления файлов в каталог сборки (виртуально или записью в .nuxt). |
app:templatesGenerated | app | Вызывается после компиляции шаблонов в виртуальную файловую систему (vfs). |
build:before | - | Вызывается до старта сборщика бандла Nuxt. |
build:done | - | Вызывается после завершения сборки бандла Nuxt. |
build:manifest | manifest | Вызывается при сборке манифеста в Vite и webpack. Позволяет настроить манифест Nitro для рендеринга тегов <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 | Вызывается при регистрации middleware на dev-сервере Nitro. |
imports:sources | presets | Вызывается при настройке, чтобы модули могли расширять источники импорта. |
imports:extend | imports | Вызывается при настройке, чтобы модули могли расширять импорты. |
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. |
nitro:build:before | nitro | Вызывается до сборки экземпляра Nitro. |
nitro:build:public-assets | nitro | Вызывается после копирования публичных ресурсов. Позволяет изменить публичные ресурсы до сборки сервера Nitro. |
prerender:routes | ctx | Расширение маршрутов для пререндера. |
build:error | error | Вызывается при ошибке сборки. |
prepare:types | options | Вызывается до записи @nuxt/cli файлов .nuxt/tsconfig.json и .nuxt/nuxt.d.ts, чтобы добавить пользовательские ссылки и объявления в nuxt.d.ts или изменить параметры tsconfig.json. |
listen | listenerServer, listener | Вызывается при загрузке dev-сервера. |
schema:extend | schemas | Расширение схем по умолчанию. |
schema:resolved | schema | Расширение итоговой схемы. |
schema:beforeWrite | schema | Вызывается перед записью схемы. |
schema:written | - | Вызывается после записи схемы. |
vite:extend | viteBuildContext | Расширение контекста сборки Vite по умолчанию. |
vite:extendConfig | viteInlineConfig, env | Расширение конфигурации Vite по умолчанию. |
vite:configResolved | viteInlineConfig, env | Чтение итоговой конфигурации Vite. |
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 (время выполнения, на сервере)
Полный список хуков см. в документации Nitro.
| Хук | Аргументы | Описание | Типы |
|---|---|---|---|
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 |