Изучите Nuxt с коллекцией из 100+ советов!

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

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

Хуки приложения (runtime)

Проверьте исходный код приложения на наличие всех доступных хуков.

ХукАргументыОкружениеОписание
app:createdvueAppСервер и клиентВызывается при создании начального экземпляра vueApp.
app:errorerrСервер и клиентВызывается при возникновении фатальной ошибки.
app:error:cleared{ redirect? }Сервер и клиентВызывается при возникновении фатальной ошибки.
app:data:refreshkeys?Сервер и клиент(внутренний)
vue:setup-Сервер и клиент(внутренний)
vue:errorerr, target, infoСервер и клиентВызывается, когда ошибка vue распространяется на корневой компонент. Подробнее.
app:renderedrenderContextСерверВызывается, когда рендеринг SSR закончен.
app:redirected-СерверВызывается перед переадресацией SSR.
app:beforeMountvueAppКлиентВызывается перед монтированием приложения, вызывается только на клиенте.
app:mountedvueAppКлиентВызывается, когда приложение Vue инициализируется и монтируется в браузере.
app:suspense:resolveappComponentКлиентВызывается при событии resolved в Suspense.
app:manifest:update{ id, timestamp }КлиентВызывается при обнаружении новой версии вашего приложения.
link:prefetchtoКлиентВызывается, когда происходит предварительная выборка .
page:startpageComponent?КлиентВызывается при событии pending в Suspense.
page:finishpageComponent?КлиентВызывается при событии resolved в 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 при включенной экспериментальной поддержке viewTransition.

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Вызывается во время сборки в режиме разработки, когда наблюдатель обнаруживает изменения в файле или директории проекта.
pages:extendpagesВызывается после разрешения маршрутов страниц.
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Вызывается перед тем, как Nuxi запишет .nuxt/tsconfig.json и .nuxt/nuxt.d.ts, позволяя добавлять пользовательские ссылки и объявления в nuxt.d.ts, или непосредственно изменять опции в tsconfig.json.
listenlistenerServer, listenerВызывается при загрузке сервера разработки.
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 (runtime, server-side)

См. 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