您好,我想按照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
}
}
}
}
`
答案 0 :(得分:0)
RootQueryType
是GraphQL模式中的顶级“项目”(Gatsby v1对此进行了设置)。因此,错误的相关部分是“未知字段allButterJob”,这很容易解释:您要查询的字段/类型不在顶层。
它可能以其他名称存在。通常,我会跳入Graphiql(如果您在标准端口下运行gatsby develop
,则在localhost:8000 / ___ graphql中),您会在侧栏中看到类似这样的内容(如果未显示,请点击“文档”链接) :
您可以在此处单击“查询”以对其进行深入研究。 (请注意,此屏幕截图来自Gatshy v2应用,因此它不是RootQueryType
而是被列为Query
。。)这将拉出一个列的可用字段Query
(或者您的情况是RootQueryType
)看起来像这样:
在此示例中,allSitePage
是可用于查询的顶级字段:
query AnythingYouLikeHere {
allSitePage {
edges {
node {
path
}
}
}
}