Hooks de Ciclo de Vida
O Nuxt fornece um sistema de hooks poderoso para expandir quase todos os aspectos usando hooks.
O sistema de hooks é alimentado por unjs/hookable.
Hooks do Nuxt (Tempo de Build)
Esses hooks estão disponíveis para Módulos Nuxt e contexto de build.
Dentro de nuxt.config.ts
export default defineNuxtConfig({
hooks: {
close: () => { }
}
})
Dentro de Módulos Nuxt
import { defineNuxtModule } from '@nuxt/kit'
export default defineNuxtModule({
setup (options, nuxt) {
nuxt.hook('close', async () => { })
}
})
Veja também api > advanced > hooks#nuxt-hooks-build-time
Hooks de Aplicação (Tempo de Execução)
Os hooks de aplicação podem ser usados principalmente por Plugins Nuxt para se conectar ao ciclo de vida de renderização, mas também podem ser usados em composables do Vue.
export default defineNuxtPlugin((nuxtApp) => {
nuxtApp.hook('page:start', () => {
/* seu código vai aqui */
})
})
Hooks de Servidor (Tempo de Execução)
Esses hooks estão disponíveis para plugins de servidor para se conectar ao comportamento de tempo de execução do Nitro.
export default defineNitroPlugin((nitroApp) => {
nitroApp.hooks.hook('render:html', (html, { event }) => {
console.log('render:html', html)
html.bodyAppend.push('<hr>Adicionado por plugin personalizado')
})
nitroApp.hooks.hook('render:response', (response, { event }) => {
console.log('render:response', response)
})
})
Hooks Adicionais
Saiba mais sobre como criar hooks personalizados na seção de Eventos.
※Esta página é uma tradução não oficial da documentação oficial do Nuxt.js.
A página correspondente na documentação oficial está aqui:
https://nuxt.com/docs/3.x/guide/going-further/hooks