使用 Gatsby 在 React 代码中将 link 添加到 CDN 的位置

Where to add link to CDN in React code using Gatsby

我对 React、GraphQL 和 Gatsby 还很陌生。我正在按照教程进行操作,但无法完全弄清楚 <link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet"> 标签应该放在哪里...

这是我的 layout.js 文件...

import React from 'react'
import PropTypes from 'prop-types'
import Helmet from 'react-helmet'
import {StaticQuery, graphql} from 'gatsby'
import Header from './header'
import './css/style.css'
import Footer from './footer'

const Layout = ({ children }) => (
  <StaticQuery
    query={graphql`
      query SiteTitleQuery {
        site {
          siteMetadata {
            title
            description
            keywords
          }
        }
        allContentfulLink (sort: { fields: [createdAt], order: ASC }) {
          edges {
            node {
              title
              url
              createdAt
            }
          }
        }
      }
    `}
    render={data => (
      <>
        <Helmet
          title={data.site.siteMetadata.title}
          meta={[
            { name: 'description', content: data.site.siteMetadata.description },
            { name: 'keywords', content: data.site.siteMetadata.keywords },
          ]}
        >
          <html lang="en" />
        </Helmet>
        <Header siteTitle={data.site.siteMetadata.title}/>
          {children}
          <Footer data={data}>
          </Footer>
      </>
    )}
  />
)

Layout.propTypes = {
  children: PropTypes.node.isRequired,
}

export default Layout

我试图在头盔中添加,打开标签并插入其中,但都收到错误。

我不确定我做错了什么。

非常感谢任何帮助!!

最简单的方法是将 gatsby-plugin-web-font-loader 添加到您的 package.json,然后在 gatsby-config.js:

中配置插件
{
  plugins: [
    {
      resolve: 'gatsby-plugin-web-font-loader',
      options: {
        google: {
          families: ['Nunito']
        }
      }
    }
  ]
}