使用Gatsby

时间:2018-09-10 20:41:52

标签: javascript reactjs graphql 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

我试图在头盔中添加,打开标签并将其插入其中,并且两者均收到错误消息。

我不确定自己在做什么错。

非常感谢您的协助!

1 个答案:

答案 0 :(得分:0)

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

{
  plugins: [
    {
      resolve: 'gatsby-plugin-web-font-loader',
      options: {
        google: {
          families: ['Nunito']
        }
      }
    }
  ]
}