You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nuxt的nuxt.config.js内联字体声明不生效,如何符合web.dev加载规范?

Nuxt 内联字体配置不生效修复方案

现有配置的问题点

  • @font-face 语法错误:@font-face 规则的font-family属性仅用于定义当前自定义字体的名称,不能直接写入 fallback 字体队列,你将系统回退字体写在这里属于无效语法,会导致整条规则失效。
  • 冗余规则冲突:你已经引入了 Google Fonts 的 Inter 字体样式表,该外部 CSS 已经自动完成了所有@font-face规则的定义,不需要手动重复编写,错误的冗余定义反而会覆盖正常规则。
  • 转义错误:你写的"属于 HTML 转义字符,在 nuxt.config.js 的cssText字段中不需要转义,直接使用引号嵌套即可,错误转义也会导致规则不被浏览器识别。
  • 资源提示冗余:fonts.gstatic.com同时配置了dns-prefetch和preconnect,preconnect优先级更高、功能更全,重复配置属于无效冗余。
  • 拼写错误:回退字体中的Segou UI为拼写错误,正确写法是Segoe UI,该错误会导致 Windows 系统下回退字体加载异常。

正确配置示例

// nuxt.config.js 中 head 字段的完整配置
export default {
  head: {
    link: [
      { rel: 'preconnect', href: 'https://fonts.googleapis.com' },
      {
        rel: 'preconnect',
        href: 'https://fonts.gstatic.com',
        crossorigin: 'anonymous',
      },
      {
        rel: 'stylesheet',
        href: 'https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;700&subset=latin&display=swap',
      },
      { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
    ],
    style: [
      {
        cssText: 'body { font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif }',
        type: 'text/css',
      }
    ]
  }
}

验证方式

配置完成后重启 Nuxt 项目,打开浏览器开发者工具:

  1. 查看任意 body 下元素的计算样式,确认字体渲染优先级中 Inter 排在首位
  2. 切换到网络面板,筛选字体请求,确认 Inter 对应的字体文件正常加载即可

内容的提问来源于stack exchange,提问作者Jack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 14:57:03