Nuxt Web 指标
Web 指标:用于健康 Nuxt 的重要模块
Web 指标是 Google 发起的一项倡议,旨在为对于在 Web 上提供出色用户体验至关重要的质量信号提供统一的指导。
此模块将在每次页面浏览时收集这些指标,并使用 Navigator.sendBeacon()
或 fetch()
将它们发送给提供商。
安装
npx nuxi@latest module add web-vitals
将 @nuxtjs/web-vitals
添加到你的 nuxt.config.js
的 modules
部分
export default defineNuxtConfig({
modules: [
'@nuxtjs/web-vitals'
]
})
⚠️ 如果你正在使用 Nuxt < v2.9,你必须将此模块作为 dependency
安装(没有 --save-dev
或 --dev
标志)。 如果你是 Nuxt 2.9+(但不是 Nuxt 3),你应该将此模块添加到 buildModules
而不是 modules
。
选项
export default defineNuxtConfig({
webVitals: {
// provider: '', // auto detectd
debug: false,
disabled: false
}
})
提供商
Google Analytics
将 Web 指标报告给 GA
创建一个 GA 属性并获取 trackingID
可以提供 GOOGLE_ANALYTICS_ID
环境变量,或在 nuxt.config
中设置
(顶层 googleAnalytics.id
作为向后兼容的后备方案被支持)
export default defineNuxtConfig({
webVitals: {
ga: { id: 'UA-XXXXXXXX-X' }
}
})
行为 > 事件 > 概览 > 事件类别 > 事件操作
将 Web 指标报告给 GTM
创建一个 GTM 属性并将标签管理器添加到你的站点。
export default defineNuxtConfig({
webVitals: {
gtm: {}
}
})
Vercel Analytics
将 Web 指标报告给 Vercel
无需配置即可工作
基本日志记录器
将 Web 指标报告给控制台
将指标输出到控制台,而不是将它们发送到远程提供商
export default defineNuxtConfig({
webVitals: {
provider: 'log',
debug: true, // debug enable metrics reporting on dev environments
disabled: false
}
})
⚠️ 此提供商不通过网络发送 Web 指标,使用此方法无法检测到导航器扩展程序的问题。
记录到自定义 API
将 Web 指标报告给自定义 API 端点
export default defineNuxtConfig({
webVitals: {
provider: 'api',
api: { url: '/api/web-vitals' }
debug: true // debug enable metrics reporting on dev environments
})
示例 body
export default defineNuxtConfig({
href: 'https://127.0.0.1:3000/',
name: 'LCP',
value: 303.599,
rating: 'good',
delta: 303.599,
entries: [
{
name: '',
entryType: 'largest-contentful-paint',
startTime: 303.599,
duration: 0,
size: 5698,
renderTime: 303.599,
loadTime: 0,
firstAnimatedFrameTime: 0,
id: '',
url: ''
}
],
id: 'v3-1669725914225-9792921995831',
navigationType: 'reload'
})