”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何在 Nuxt.js 中高效加载 Google 字体?

如何在 Nuxt.js 中高效加载 Google 字体?

发布于2024-11-07
浏览:497

How to Efficiently Load Google Fonts in Nuxt.js?

在 Nuxt 中高效加载 Google 字体的最佳方式

当使用同一 Google 字体需要不同字体粗细的多个组件时,避免在 Layout.vue 中导入多个链接的冗余做法很重要。

为了解决这个问题并优化 NuxtJS 项目中的字体加载,建议使用 @nuxtjs/google-fonts 模块。该模块提供了一种高效且集中的方法来管理 Google 字体导入。

使用 @nuxtjs/google-fonts 模块

  1. 安装模块:
npm install @nuxtjs/google-fonts
  1. 将模块添加到您的 nuxt.config.js 文件中:
export default {
  buildModules: [
    [
      '@nuxtjs/google-fonts',
      {
        families: {
          'Saira Semi Condensed': {
            wght: [600, 800],
          },
        },
        display: 'swap', // Load fonts as soon as possible
        prefetch: false, // Don't prefetch fonts
        preconnect: false, // Don't preconnect to font server
        preload: false, // Don't preload fonts
        download: true, // Download fonts for offline use
        base64: false, // Don't base64 encode fonts
      },
    ],
  ],
}
  1. 使用@font-face规则导入组件样式中的字体:
@font-face {
  font-family: 'Saira Semi Condensed', sans-serif;
  font-weight: 600;
  font-style: normal;
  src: local('Saira Semi Condensed'), local('SairaSemiCondensed-Wght600'),
  url("https://fonts.gstatic.com/s/sairasemicondensed/v15/E6qS90ZBdhyxr0K917oteYGc.woff2") format('woff2');
}

附加说明:

  • 如果未下载特定字体粗细,请在模块配置中设置 overwriting: true 或将软件包更新到 v3.0.0 -1.
  • 自托管 Google Fonts 通常比使用 CDN 更适合性能优化。考虑使用 google-webfonts-helper 进行自托管。
最新教程 更多>
  • 除了“if”语句之外:还有什么地方可以在不进行强制转换的情况下使用具有显式“bool”转换的类型?
    除了“if”语句之外:还有什么地方可以在不进行强制转换的情况下使用具有显式“bool”转换的类型?
    无需强制转换即可上下文转换为 bool您的类定义了对 bool 的显式转换,使您能够在条件语句中直接使用其实例“t”。然而,这种显式转换提出了一个问题:“t”在哪里可以在不进行强制转换的情况下用作 bool?上下文转换场景C 标准指定了四种值可以根据上下文转换为 bool 的主要场景:语句:if、w...
    编程 发布于2024-11-20
  • 如何修复 macOS 上 Django 中的“配置不正确:加载 MySQLdb 模块时出错”?
    如何修复 macOS 上 Django 中的“配置不正确:加载 MySQLdb 模块时出错”?
    MySQL配置不正确:相对路径的问题在Django中运行python manage.py runserver时,可能会遇到以下错误:ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Library/Python/2.7/site-...
    编程 发布于2024-11-20
  • 如何使用 MySQL 查找今天生日的用户?
    如何使用 MySQL 查找今天生日的用户?
    如何使用 MySQL 识别今天生日的用户使用 MySQL 确定今天是否是用户的生日涉及查找生日匹配的所有行今天的日期。这可以通过一个简单的 MySQL 查询来实现,该查询将存储为 UNIX 时间戳的生日与今天的日期进行比较。以下 SQL 查询将获取今天有生日的所有用户: FROM USERS ...
    编程 发布于2024-11-20
  • 如何在 PHP 中组合两个关联数组,同时保留唯一 ID 并处理重复名称?
    如何在 PHP 中组合两个关联数组,同时保留唯一 ID 并处理重复名称?
    在 PHP 中组合关联数组在 PHP 中,将两个关联数组组合成一个数组是一项常见任务。考虑以下请求:问题描述:提供的代码定义了两个关联数组,$array1 和 $array2。目标是创建一个新数组 $array3,它合并两个数组中的所有键值对。 此外,提供的数组具有唯一的 ID,而名称可能重合。要求...
    编程 发布于2024-11-20
  • 为什么 Goroutine 在 Windows 上有时会执行失败?
    为什么 Goroutine 在 Windows 上有时会执行失败?
    理解 Windows 上非功能性 Goroutines 之谜在并发领域,Goroutines 在 Go 中充当轻量级线程。然而,一些程序员遇到了意想不到的挑战:goroutines 无法在 Windows 上执行。为了解开这个谜团,让我们深入研究一下根本问题。根本原因:异步执行与传统线程不同,gor...
    编程 发布于2024-11-20
  • 大批
    大批
    方法是可以在对象上调用的 fns 数组是对象,因此它们在 JS 中也有方法。 slice(begin):将数组的一部分提取到新数组中,而不改变原始数组。 let arr = ['a','b','c','d','e']; // Usecase: Extract till index p...
    编程 发布于2024-11-20
  • Bootstrap 4 Beta 中的列偏移发生了什么?
    Bootstrap 4 Beta 中的列偏移发生了什么?
    Bootstrap 4 Beta:列偏移的删除和恢复Bootstrap 4 在其 Beta 1 版本中引入了重大更改柱子偏移了。然而,随着 Beta 2 的后续发布,这些变化已经逆转。从 offset-md-* 到 ml-auto在 Bootstrap 4 Beta 1 中, offset-md-*...
    编程 发布于2024-11-19
  • 尽管代码有效,为什么 POST 请求无法捕获 PHP 中的输入?
    尽管代码有效,为什么 POST 请求无法捕获 PHP 中的输入?
    解决 PHP 中的 POST 请求故障在提供的代码片段中:action=''而不是:action="<?php echo $_SERVER['PHP_SELF'];?>";?>"检查 $_POST数组:表单提交后使用 var_dump 检查 $_POST 数...
    编程 发布于2024-11-19
  • 如何使用 PHP 高效地将大型 MySQL 文件导入共享主机?
    如何使用 PHP 高效地将大型 MySQL 文件导入共享主机?
    PHP 中高效的 MySQL 文件导入:共享主机的拆分查询在 Web 开发领域,通常需要在使用共享主机提供商时导入大型数据库文件出现。不幸的是,通过命令行访问 MySQL 可能会受到限制,因此需要一个基于 PHP 的解决方案来解析和执行查询。为了解决这一挑战,开发了一个名为 SplitSQL() 的...
    编程 发布于2024-11-19
  • 可以仅使用 CSS 将图像大小调整为其大小的百分比吗?
    可以仅使用 CSS 将图像大小调整为其大小的百分比吗?
    仅使用 CSS 将图像大小调整为自身的百分比在网页设计领域,需要将图像大小调整为特定尺寸经常出现。一种场景涉及将图像的大小减小到其原始大小的一定百分比,而不改变其容器元素的大小。虽然 JavaScript 或服务器端脚本提供了解决方案,但本文探讨了潜在的纯 CSS 替代方案。是否可以使用 CSS 百...
    编程 发布于2024-11-19
  • 何时为 JavaScript 继承选择 Object.create 而不是 new?
    何时为 JavaScript 继承选择 Object.create 而不是 new?
    JavaScript 继承:Object.create 与 newJavaScript 中的继承概念可能会令人困惑,因为有多种实现方法它。本文旨在阐明最受接受的方法,并为您的特定场景提供解决方案。理解 Object.create 和 newObject.create 是一个创建对象的方法通过从现有对...
    编程 发布于2024-11-19
  • Bootstrap 网格类(如 col-md-4、col-xs-1 和 col-lg-2)中的数字如何确定元素宽度和响应能力?
    Bootstrap 网格类(如 col-md-4、col-xs-1 和 col-lg-2)中的数字如何确定元素宽度和响应能力?
    理解 Bootstrap 网格类中的数字:col-md-4、col-xs-1、col-lg-2The Bootstrap 框架引入了强大的网格系统,有助于创建响应式布局。该系统的组成部分是具有 col-* 格式的类,其中星号代表数字。这些数字在确定网格内的元素如何对齐以及它们如何响应不同的屏幕尺寸方...
    编程 发布于2024-11-19
  • 如何确定 C++ 编译器是否符合 IEEE 754 浮点标准?
    如何确定 C++ 编译器是否符合 IEEE 754 浮点标准?
    检查 C 中的 IEEE 754 浮点标准 确定 C 编译器是否遵循 IEEE 754 浮点标准通常通过以下方式完成编译器定义。然而,用于 C 的技术可能并不直接适用于 C 。C 特定方法幸运的是,C 提供了一种简单的方法来使用 numeric_limits 完成此检查class:std::nume...
    编程 发布于2024-11-19
  • 如何使用 SHA-256 在 Java 中实现安全字符串哈希?
    如何使用 SHA-256 在 Java 中实现安全字符串哈希?
    使用 SHA-256 的 Java 哈希字符串在 Java 中使用 SHA-256 哈希字符串可能看起来是一个简单的任务,但是有散列和编码之间的关键区别需要澄清。SHA-256(安全散列算法-256)是不是编码机制;它是一种单向哈希函数。这意味着当您对字符串进行哈希处理时,您会生成不可逆的二进制数据...
    编程 发布于2024-11-19
  • 如何使用 CSS 替换已弃用的 HTML5 表格属性?
    如何使用 CSS 替换已弃用的 HTML5 表格属性?
    HTML5 表格属性:弃用和 CSS 替换HTML5 中已弃用一些常用来设置 HTML 表格样式的属性,包括 cellpadding 、单元格间距、valign 和对齐。进行此更改是为了实现 Web 开发现代化并促进更严格地遵守 HTML5 标准。在 Visual Studio 中,您可能会收到警告...
    编程 发布于2024-11-19

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3