Hooks
Use lifecycle hooks to stay synced with NuxtHub.
onHubReady()
Use onHubReady()
to ensure the execution of some code once NuxtHub environment bindings are set up and database migrations are applied.
onHubReady()
is a shortcut using the hubHooks
object under the hood that listens to the bindings:ready
and database:migrations:done
events.server/plugins/migrations.ts
export default defineNitroPlugin(() => {
// Only run in development
if (import.meta.dev) {
onHubReady(async () => {
console.log('NuxtHub is ready! 🚀')
})
}
})
hubHooks
The hubHooks
object is a collection of hooks that can be used to stay synced with NuxtHub.
Signature
Signature
export interface HubHooks {
'bindings:ready': () => any | void
'database:migrations:done': () => any | void
}
Usage
You can use the hubHooks
object to listen to HubHooks
events in your server plugins:
server/plugins/hub.ts
export default defineNitroPlugin(() => {
hubHooks.hook('bindings:ready', () => {
console.log('NuxtHub bindings are ready!')
const db = hubDatabase()
})
// Only run in development and if the database is enabled
if (import.meta.dev) {
hubHooks.hook('database:migrations:done', () => {
console.log('Database migrations are done!')
})
}
})
Note that
hubHooks
is a hookable instance.