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]
|
```js [plugins/test.ts]
|
||||||
export default defineNuxtPlugin((nuxtApp) => {
|
export default defineNuxtPlugin((nuxtApp) => {
|
||||||
nuxtApp.hook('page:start', () => {
|
nuxtApp.hook('page:start', () => {
|
||||||
/* your code goes here */
|
/* your code goes here */
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -73,3 +73,26 @@ export default defineNitroPlugin((nitroApp) => {
|
|||||||
::alert{icon=👉}
|
::alert{icon=👉}
|
||||||
Learn more about available [Nitro lifecycle hooks](/docs/api/advanced/hooks#nitro-app-hooks-runtime-server-side).
|
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