ButterCMS:RootQueryType上的未知字段

时间:2018-09-02 09:01:11

标签: graphql gatsby

您好,我想按照gatsby-source-buttercms(https://www.gatsbyjs.org/packages/gatsby-source-buttercms/#gatsby-source-buttercms)中的文档,尝试从ButterCMS向Gatsby查询数据。但是收到错误“ RootQueryType上的未知字段allButterJob”。我不知道我做错了什么。有人请帮我看看。这是我的gatsby-config.js:

module.exports = {
  siteMetadata: {
    title: 'Gatsby Default Starter',
  },
  plugins: [
    'gatsby-plugin-react-helmet',
    {
      resolve: 'gatsby-source-buttercms',
      options: {
        authToken: '2a926fdcab34e736332a54e24649cedbaf5d0e89',
        contentFields: {
          keys: [ // Comma delimited list of content field keys.
            'job',
            'news'
          ],
          test: 0 // Optional. Set to 1 to enable test mode for viewing draft content.
        }
      }
    }
  ],
}

在这里我进行查询:

import React                 from 'react'
import Link                  from 'gatsby-link'
import HeaderlineSection from '../components/headerlineSection'
import FeatureSection    from '../components/featureSection'
import TeamSection         from '../components/teamSection'
import NewsSection         from '../components/newsSection'
import CareerSection     from '../components/careerSection'

const IndexPage = ({data}) => (
  <div>
    <HeaderlineSection />
    <FeatureSection />
    <TeamSection />
    <NewsSection />
    <CareerSection /> 
    {console.log(data)}
  </div>
)

export default IndexPage

export const query = graphql`
  query IndexPageQuery{
    allButterJob{
      edges{
        node{
          id
          title
        }
      }
    }
  }
`

1 个答案:

答案 0 :(得分:0)

RootQueryType是GraphQL模式中的顶级“项目”(Gatsby v1对此进行了设置)。因此,错误的相关部分是“未知字段allButterJob”,这很容易解释:您要查询的字段/类型不在顶层。

它可能以其他名称存在。通常,我会跳入Graphiql(如果您在标准端口下运行gatsby develop,则在localhost:8000 / ___ graphql中),您会在侧栏中看到类似这样的内容(如果未显示,请点击“文档”链接) :

enter image description here

您可以在此处单击“查询”以对其进行深入研究。 (请注意,此屏幕截图来自Gatshy v2应用,因此它不是RootQueryType而是被列为Query。)这将拉出一个列的可用字段Query(或者您的情况是RootQueryType)看起来像这样:

enter image description here

在此示例中,allSitePage是可用于查询的顶级字段:

query AnythingYouLikeHere {
  allSitePage {
    edges {
      node {
        path
      }
    }
  }
}