速度提示:在 Gatsby 中使用 Typefaces.js 本地托管字体

2025-06-07

速度提示:在 Gatsby 中使用 Typefaces.js 本地托管字体

自从我的新网站基于Gatsby上线以来,我注意到只有一件事仍然会拖慢加载时间:通过 Google Fonts 导入字体!尽管字体文件通常相对较小,但导入这些字体会导致额外访问 Google 服务器……结果,出现了轻微的加载延迟。(尤其是在网速较慢的情况下。)

Typefaces.js 简介

过去,自托管字体总是有点混乱,所以大多数人(包括我自己)都选择直接从 Google 字体导入……毕竟,这就是他们建议的!

值得庆幸的是,现在有一个更优雅的 JS 解决方案: Kyle Mathews 提供的Typefaces.js包。(没错,他是 Gatsby 的创建者之一。)假设你的网站或应用的构建过程使用了带有 CSS 和字体加载器的 Webpack,那么它使用起来会非常容易。就我而言,我想在 Gatsby 中使用它……

在 Gatsby 中使用 Typefaces.js

您只需要做以下事情:

1. 在 NPM 上找到所需字体的字体文件。

就我而言,是:Emily's CandyMerriweather注意:所有 Google 字体都可以在 NPM 上使用,因为 Kyle 已经通过编程添加了它们。(Font Squirrel 的字体也在开发中!)

2.通过yarn安装上述文件:
   yarn add typeface-merriweather typeface-emilys-candy
3. 删除这些字体的先前导入。

(我之前是通过 SCSS 中的 @import 导入的)

4. 将以下内容添加到gatsby-browser.js
   require('typeface-emilys-candy');
   require('typeface-merriweather');

或者,导入您的顶级/布局组件:

   import 'typeface-emilys-candy';
   import 'typeface-merriweather';
5. 重新构建,就完成了!

整个过程总共花了大约 2 分钟,并且还节省了约 500 毫秒的移动加载时间。如果你还没有在你的 Gatsby 网站上这样做,我强烈推荐你这样做!

文章来源:https://dev.to/stoutlabs/speed-tip-use-typefacesjs-in-gatsby-to-locally-host-fonts-6om
PREV
在 Next.js 中开始使用 Markdoc
NEXT
如何用 Python 将图像卡通化