Hooks
使用生命周期钩子与 NuxtHub 保持同步。
onHubReady()
使用 onHubReady()
确保在 NuxtHub 环境绑定设置完成并应用数据库迁移后,某些代码能够执行。
server/plugins/migrations.ts
export default defineNitroPlugin(() => {
// Only run in development
if (import.meta.dev) {
onHubReady(async () => {
console.log('NuxtHub is ready! 🚀')
})
}
})
hubHooks
hubHooks
对象是一个可用于与 NuxtHub 保持同步的钩子集合。
签名
签名
export interface HubHooks {
'bindings:ready': () => any | void
'database:migrations:done': () => any | void
}
用法
您可以使用 hubHooks
对象在服务器插件中监听 HubHooks
事件。
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!')
})
}
})
请注意,
hubHooks
是一个 hookable 实例。