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
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.
export default defineNuxtPlugin((nuxtApp) => {
nuxtApp.hook('page:start', () => {
/* tu código va aquí */
})
})
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.
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)
})
})
Hooks Adicionales
Aprende más sobre cómo crear hooks personalizados en la sección de Eventos.
※Esta página es una traducción no oficial de la documentación oficial de Nuxt.js.
La página correspondiente en la documentación oficial está aquí:
https://nuxt.com/docs/3.x/guide/going-further/hooks