我现在正在学习如何使用graphQL查询数据。虽然我可以使用可用的内置配置查询Gatsby网站上的博客文章,但我无法对github进行查询以提取我的存储库数据。我的代码如下。我遇到的gatsby develop
错误如下:
类型为“查询”的未知字段“ repositoryOwner”。
我已验证我在githubs graphiql Explorer中得到了正确的响应,并且确实返回了一系列“边”。我正在使用最新版本的gatsby,并以最小的gatsby配置更改做出反应,以仅包括我的github令牌。我在每次构建之前都运行gatsby clean
。
githubProjects组件
export const Projects = () => (
<StaticQuery
query={graphql`
{
repositoryOwner(login: "my_github_name") {
repositories(first: 8, orderBy: {field: STARGAZERS, direction: DESC}) {
edges {
node {
id
name
url
description
}
}
}
}
}
`}
render={({
repositoryOwner: {
repositories: { edges },
},
}) => (
<div className="container with-title">
<p className="title">Projects</p>
{edges.map(({ node }) => (
<section className="container with-card">
<h4>{node.name}</h4>
<p>{node.description}</p>
</section>
))}
</div>
)}
/>
)
在我的gatsby-config.js中,我有以下这些片段:
const path = require('path')
require('dotenv').config({
path: `.env.${process.env.NODE_ENV}`,
module.exports = {
plugins: [
{
resolve: 'gatsby-source-graphql',
options: {
typeName: 'GitHub',
fieldName: 'github',
url: 'https://api.github.com/graphql',
headers: {
Authorization: `bearer ${process.env.GITHUB_TOKEN}`,
},
fetchOptions: {},
},
},
],
}
})
.env.development
GITHUB_TOKEN=XXXXXXXXXXXXXXXXXXXX