nuxt logo

Traducción de Documentación (No Oficial)

Hooks de Ciclo de Vida

Nuxt proporciona un potente sistema de hooks para expandir casi todos los aspectos utilizando hooks.

El sistema de hooks está impulsado por unjs/hookable.

Hooks de Nuxt (Tiempo de Construcción)

Estos hooks están disponibles para Módulos de Nuxt y el contexto de construcción.

Dentro de nuxt.config.ts

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

Dentro de Módulos de Nuxt

import { defineNuxtModule } from '@nuxt/kit'

export default defineNuxtModule({
  setup (options, nuxt) {
    nuxt.hook('close', async () => { })
  }
})
Ver también api > advanced > hooks#nuxt-hooks-build-time

Hooks de Aplicación (Tiempo de Ejecución)

Los hooks de aplicación pueden ser utilizados principalmente por Plugins de Nuxt para engancharse en el ciclo de vida de renderizado, pero también podrían ser utilizados en composables de Vue.

plugins/test.ts
export default defineNuxtPlugin((nuxtApp) => {
  nuxtApp.hook('page:start', () => {
    /* tu código va aquí */
  })
})
Ver también api > advanced > hooks#app-hooks-runtime

Hooks de Servidor (Tiempo de Ejecución)

Estos hooks están disponibles para plugins de servidor para engancharse en el comportamiento de tiempo de ejecución de Nitro.

~/server/plugins/test.ts
export default defineNitroPlugin((nitroApp) => {
  nitroApp.hooks.hook('render:html', (html, { event }) => {
    console.log('render:html', html)
    html.bodyAppend.push('<hr>Appended by custom plugin')
  })

  nitroApp.hooks.hook('render:response', (response, { event }) => {
    console.log('render:response', response)
  })
})
Ver también api > advanced > hooks#nitro-app-hooks-runtime-server-side

Hooks Adicionales

Aprende más sobre cómo crear hooks personalizados en la sección de Eventos.