在 Nuxt 中高效加载 Google 字体
问题:
在 NuxtJS 项目中,用户想要对两个不同的组件使用具有不同字体粗细(600 和 800)的 Saira Semi Condensed 字体。但是,导入具有不同粗细的同一字体的两个 Google Font 链接会导致冗余,并导致字体粗细应用程序出现潜在问题。
解决方案:
推荐的方法是通过页面源自行托管或代理 Google Font 文件,而不是使用 CDN。 Nuxt 提供了 @nuxtjs/google-fonts 模块,可以高效且可定制地加载 Google 字体。使用方法如下:
nuxt.config.js:
export default { buildModules: [ [ '@nuxtjs/google-fonts', { families: { 'Saira Semi Condensed': { wght: [600, 800], }, }, // Other options here... }, ], ], }
Layout.vue(头部部分):
<link rel="preload" href="/fonts/SairaSemiCondensed-wght@600.woff2" as="font" type="font/woff2" crossorigin="anonymous"> <link rel="preload" href="/fonts/SairaSemiCondensed-wght@800.woff2" as="font" type="font/woff2" crossorigin="anonymous">
注意: 将 /fonts 替换为下载字体文件的正确路径。
ComponentA.vue 或 ComponentB.vue(样式部分):
footer { font-family: 'Saira Semi Condensed', sans-serif; font-weight: 600; /* or 800 for ComponentB */ }
此方法可确保下载特定的字体粗细并将其应用到相应的组件,从而无需多个 CDN 链接。
以上是如何在Nuxt中高效加载不同字体粗细的Google字体?的详细内容。更多信息请关注PHP中文网其他相关文章!