API

Nuxt 应用钩子

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

scripts:updated

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

脚本状态更新后触发。

这在内部用于 DevTools,但您可以根据需要使用它。

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 公开,当通过代理实例访问属性时会触发。

这也在内部用于 DevTools,但您可以根据需要使用它。

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
  }
})