Nuxt 应用钩子

使用 Nuxt 应用钩子来扩展 Nuxt 脚本的运行时行为。

scripts:updated

  • 类型: async (ctx: { scripts: ScriptRegistry }) => HookResult

在脚本状态更新后触发。

此钩子在内部用于开发工具,但你也可以根据需要使用它。

plugins/nuxt-scripts.ts
export default defineNuxtPlugin({
  setup() {
    useNuxtApp().hooks.hook('scripts:updated', (ctx) => {
      console.log('Scripts updated', ctx.scripts)
    })
  }
})

script:instance-fn

  • 类型: (ctx: { script: ScriptInstance<any>, fn: string | symbol, args: any, exists: boolean }) => HookResult

此钩子仅由 Unhead 暴露,在通过代理实例访问属性时触发。

这同样在内部用于开发工具,但你也可以根据需要使用它。

export default defineNuxtPlugin({
  setup() {
    const head = injectHead()
    head.hooks.hook('script:instance-fn', ({ fn, args }) => {
      console.log('Function called:', ctx)
    })
    const { proxy } = useScript()
    proxy.doSomething() // Function called: doSomething
  }
})