默认采用最佳实践,在需要时再加载脚本,避免阻塞 Nuxt 应用的渲染。
避免将用户数据泄露给并不需要这些数据的第三方脚本,并帮助脚本保持符合 GDPR。
保护你的应用免受可能被攻陷的第三方脚本影响。
Nuxt Scripts 在第三方脚本之上提供一层抽象,带来 SSR 支持和类型安全,同时仍让你完全掌控脚本的加载方式。
const { proxy } = useScript('/tracker.js', {
trigger: 'onNuxtReady',
use() {
return { trackEvent: window.trackEvent }
}
})
// fully typed, SSR safe
proxy.trackEvent('page_view')Nuxt Scripts 开箱提供多个 Facade 组件 。
Facade 组件是一种占位式 UI,在第三方脚本加载后才会被替换;它们能显著提升性能,同时仍保留良好的用户体验,不过也存在 取舍 .
*请注意,PageSpeed Insights 的实验室数据只是某一天的快照,通常会有波动。
每个支持同意管理的脚本都会返回一个与服务商原生 API 对应的 consent 对象,并在首次调用前应用 defaultConsent。
包括 Google Consent Mode v2、Meta grant/revoke、Matomo give/forget、TikTok 三态模式等。你也可以对接 OneTrust 或 Cookiebot,或者使用 useScriptTriggerConsent 自己实现横幅。
const { consent } = useScriptGoogleAnalytics({
id: 'G-XXXXXXXX',
defaultConsent: {
ad_storage: 'denied',
analytics_storage: 'denied',
},
})
// Google Consent Mode v2
consent.update({
ad_storage: 'granted',
analytics_storage: 'granted',
})无需加载第三方脚本即可嵌入 X、Instagram 和 Bluesky 的帖子。所有内容都由服务端获取,并通过你的域名代理。
零客户端 JavaScript、零 Cookie、零第三方请求。
| Nuxt Scripts 对比原生方案 | X | Instagram | Bluesky |
|---|---|---|---|
| 客户端 JS | 0vs475 KB | 0vs580 KB | 0vs42 KB |
| 请求数 | 0vs25 | 0vs34 | 0vs9 |
| Cookie | NovsYes | NovsYes | NovsNo |
| 阻塞时间 | 0msvs1,010ms | 0msvs780ms | 0msvs60ms |
✨Time to talk about the newest official @nuxt_js module - Nuxt Scripts! And not only covering why it is useful and what it does, but using the underlying `useScript` composable to load a *custom script* right into a demo application. Don't miss it out! 💚 Link below 👇 https://t.co/UjefeB3Ny9



Nuxt Scripts 由 Nuxt 核心团队与 Google 的 Chrome Aurora 团队协作设计和构建。
Nuxt Scripts 由 Nuxt 核心团队和优秀的社区贡献者持续维护,欢迎所有贡献。