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 数组会自动配置。支持的脚本
自动转发配置的脚本:
googleAnalytics、plausible、fathom、umami、matomo、segmentmetaPixel、xPixel、tiktokPixel、snapchatPixel、redditPixelcloudflareWebAnalytics
限制
不兼容的脚本 —— 由于需要访问 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"。
有关更多详细信息,请参阅 打包 - 子资源完整性 文档。