Nuxt 配置

使用你的 Nuxt 配置配置 Nuxt 脚本。

registry

  • 类型: ScriptRegistry

应加载的全局注册脚本。

有关更多详细信息,请参阅 脚本注册

partytown 实验性

  • 类型: (keyof ScriptRegistry)[]
  • 默认值: []

通过 Partytown(Web Worker)加载的注册脚本。

这是为单个注册脚本设置 partytown: true 的简写。当脚本列在此处时,它将以 type="text/partytown" 加载,以便 Partytown 可以在 Web Worker 中执行它。

export default defineNuxtConfig({
  scripts: {
    partytown: ['googleAnalytics', 'plausible', 'fathom'],
    registry: {
      googleAnalytics: { id: 'G-XXXXX' },
      plausible: { domain: 'example.com' },
      fathom: { site: 'XXXXX' }
    }
  }
})
需要安装 @nuxtjs/partytown 。对于支持的注册脚本,forward 数组会自动配置

支持的脚本

自动转发配置的脚本:

  • googleAnalyticsplausiblefathomumamimatomosegment
  • metaPixelxPixeltiktokPixelsnapchatPixelredditPixel
  • cloudflareWebAnalytics

限制

不兼容的脚本 —— 由于需要访问 DOM,以下脚本不能与 Partytown 一起使用:
  • 标签管理器:Google Tag Manager、Adobe Launch
  • 会话重放:Hotjar、Clarity、FullStory、LogRocket
  • 聊天窗口:Intercom、Crisp、Drift、HubSpot Chat
  • 视频播放器:YouTube、Vimeo 嵌入
  • A/B 测试:Optimizely、VWO、Google Optimize
通用限制
  • 脚本不能直接访问或修改 DOM
  • document.cookie 访问需要附加的 Partytown 配置
  • 调试更复杂(代码在 Web Worker 中运行)
  • 与主线程执行相比,某些脚本可能存在时序差异
  • localStorage/sessionStorage 访问可能需要转发配置

defaultScriptOptions

  • 类型: NuxtUseScriptOptions
  • 默认值: { trigger: 'onNuxtReady' }

脚本的默认选项。有关更多详细信息,请参阅 useScript 文档。

globals

  • 类型: (NuxtUseScriptInput | [NuxtUseScriptInput, NuxtUseScriptOptions])[]
  • 默认值: []

应在所有页面加载的全局脚本。这是针对 useScript 组合式函数的配置。

有关更多详细信息,请参阅 全局 文档。

enabled

  • 类型: boolean
  • 默认值: true

禁用 Nuxt Scripts 模块。

debug

  • 类型: boolean
  • 默认值: false

启用以查看调试日志。

assets

  • 类型: object
  • 默认值: { prefix: '/_scripts/', strategy: 'public' }

控制脚本打包和由 Nuxt 提供的方式。

有关更多详细信息,请参阅 打包 文档。

assets.fallbackOnSrcOnBundleFail

  • 类型: boolean
  • 默认值: false

启用时,当打包失败时回退到远程 src URL。默认情况下,如果第三方脚本无法下载,打包过程将停止。

assets.fetchOptions

  • 类型: object
  • 默认值: { retry: 3, retryDelay: 2000, timeout: 15_000 }

下载脚本时传递给 fetch 函数的选项。

assets.integrity

  • 类型: boolean | 'sha256' | 'sha384' | 'sha512'
  • 默认值: false

启用自动子资源完整性 (SRI) 哈希生成以用于打包的脚本。启用后,会计算每个打包脚本的加密哈希,并注入 integrity 属性以及 crossorigin="anonymous"

有关更多详细信息,请参阅 打包 - 子资源完整性 文档。