mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-29 09:02:03 +00:00
docs: add information on how to type custom hooks (#22312)
This commit is contained in:
parent
832796fe1a
commit
b650207fa5
@ -42,8 +42,8 @@ App hooks can be mainly used by [Nuxt Plugins](/docs/guide/directory-structure/p
|
||||
```js [plugins/test.ts]
|
||||
export default defineNuxtPlugin((nuxtApp) => {
|
||||
nuxtApp.hook('page:start', () => {
|
||||
/* your code goes here */
|
||||
})
|
||||
/* your code goes here */
|
||||
})
|
||||
})
|
||||
```
|
||||
|
||||
@ -73,3 +73,26 @@ export default defineNitroPlugin((nitroApp) => {
|
||||
::alert{icon=👉}
|
||||
Learn more about available [Nitro lifecycle hooks](/docs/api/advanced/hooks#nitro-app-hooks-runtime-server-side).
|
||||
::
|
||||
|
||||
## Add additional hooks
|
||||
|
||||
You can add additional hooks by augmenting the types provided by Nuxt. This can be useful for modules.
|
||||
|
||||
```ts
|
||||
import { HookResult } from "@nuxt/schema";
|
||||
|
||||
declare module '#app' {
|
||||
interface RuntimeNuxtHooks {
|
||||
'your-nuxt-runtime-hook': () => HookResult
|
||||
}
|
||||
interface NuxtHooks {
|
||||
'your-nuxt-hook': () => HookResult
|
||||
}
|
||||
}
|
||||
|
||||
declare module 'nitropack' {
|
||||
interface NitroRuntimeHooks {
|
||||
'your-nitro-hook': () => void;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
Loading…
Reference in New Issue
Block a user