Gatsbyの使用開始-Googleタグを使用してpublic/index.htmlにリンクタグを追加すると、開発モードで動作します。サイトを構築すると、index.htmlがリセットされます。だから、フォントを追加する別の適切な方法があると思いますか?
たとえば、Googleの「Roboto」フォントをインポートするには、src/layouts/index.css
の先頭に次を追加します
@import url('https://fonts.googleapis.com/css?family=Roboto');
html {
font-family: 'Roboto', sans-serif;
}
これは、gatsbyビルドプロセスによって処理され、サイトの最終製品バージョンに含まれます。
react-helmet を使用することもできます。これは gatsbyチュートリアル で説明されています。
ヘルメットコンポーネント内にGoogleフォントリンク要素を含めます。
このような:
<Helmet>
<link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet"/>
</Helmet>
すでに手動でスタイリングを行っていたため、このルートをたどりました。タイポグラフィを使用しようとすると、元に戻すのに時間がかかる変更がたくさんありました。
私は印象を受けていました Typefaces が道でした。追加の(ブロッキング)ネットワーク要求はありません。
NPMで書体-フォントを見つけることができる限り
このプラグインでフォントをプリフェッチできます https://github.com/escaladesports/gatsby-plugin-prefetch-google-fonts このようにビルド段階で、プラグインはフォントを取得してローカルに保存するため、サーバーまたはCDNから提供できます。
Typography.jsをドキュメントで参照するように使用することもできます。
https://www.gatsbyjs.org/tutorial/part-two/#typographyjs
Typeography.js github page は、現在利用可能なすべてのフォントの組み合わせをリストしています。
Gatsby(react)Docsによれば、gatsby-plugin-offlineは、末尾が.cssでない場合、サーバーでGoogleフォントが要求されないようにすることができます。タイポグラフィを使用して、CDNから1つのフォントをインポートしましたが、後で here プラグインのデフォルトを上書きするgatsby-configを渡すこのオプションを見ました。
フォントを自分でホストすることもできます。ただ
この例では、src-folder shoudは次のようになります。
/src/
/styles/style.scss
/fonts/roboto-v18-latin-regular.eot
/fonts/roboto-v18-latin-regular.woff2
/fonts/roboto-v18-latin-regular.woff
/fonts/roboto-v18-latin-regular.ttf
/fonts/roboto-v18-latin-regular.svg
* scssを使用するようなプラグインが必要です: https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-plugin-sass
使用できます 公式 Googleフォントプラグイン: https://www.npmjs.com/package/gatsby-plugin-google-fonts