nuxt.config.js
文件在nuxt.config.js
的head
字段中添加CDN资源链接:
export default { head: { script: [ { src: 'https://cdn.example.com/vue/2.6.14/vue.min.js', defer: true, // 异步加载,避免阻塞渲染 crossorigin: 'anonymous' // 增强安全性 } ], link: [ { rel: 'stylesheet', href: 'https://cdn.example.com/font-awesome/5.15.4/css/all.min.css', integrity: 'sha512-...', // 校验文件完整性 crossorigin: 'anonymous' } ] } }
若仅在特定页面使用CDN资源,可通过页面级head
配置:
// pages/index.vue export default { head() { return { script: [ { src: 'https://cdn.example.com/analytics.js' } ] } } }
通过环境变量判断是否启用CDN:
// nuxt.config.js const isProduction = process.env.NODE_ENV === 'production' export default { head: { script: [ isProduction ? { src: 'https://cdn.example.com/vue.min.js' } : { src: '/vue.js' } // 本地开发环境使用本地文件 ] } }
在script
或link
标签中添加integrity
属性,校验文件完整性:
script: [ { src: 'https://cdn.example.com/jquery.min.js', integrity: 'sha384-...', crossorigin: 'anonymous' } ]
defer
或async
属性,避免阻塞关键渲染路径。<link rel="preload">
提升首屏速度。window.onerror
监听脚本错误,自动切换至本地备份文件。引用说明
本文参考百度搜索算法指南、Google开发者文档(Web Fundamentals与Core Web Vitals标准)及MDN Web技术文档。