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

В Nuxt система хуков позволяет расширять почти любую часть приложения.
Система хуков реализована на unjs/hookable.

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

Доступны в модулях Nuxt и контексте сборки.

В nuxt.config.ts

nuxt.config.ts
export default defineNuxtConfig({
  hooks: {
    close: () => { },
  },
})

В модулях Nuxt

import { defineNuxtModule } from '@nuxt/kit'

export default defineNuxtModule({
  setup (options, nuxt) {
    nuxt.hook('close', async () => { })
  },
})
Список хуков Nuxt.

Хуки приложения (рантайм)

Используются в основном в плагинах Nuxt для подключения к жизненному циклу рендеринга, а также во Vue-композаблах.

app/plugins/test.ts
export default defineNuxtPlugin((nuxtApp) => {
  nuxtApp.hook('page:start', () => {
    /* ваш код */
  })
})
Список хуков приложения.

Серверные хуки (рантайм)

Доступны в серверных плагинах для подключения к поведению Nitro в рантайме.

Список серверных хуков Nitro.