Gatsby 和 WPGraphQL - 在类型 "Query" 上构建错误 "Cannot query field " 页面”

Gatsby and WPGraphQL - Build Error "Cannot query field "pages" on type "Query""

我是 WPGraphQL 的新手,我在从我的新 Wordpress 端点构建 Gatsby 站点时遇到了一些麻烦。 当我在 Postman 中对端点执行以下查询时,我成功取回了页面数据:

 query MyQuery {
     pages {
        edges {
            node {
                id
                slug
                status
            }
        }
     }
  }

然而,当我尝试构建 Gatsby 站点时,我得到以下信息:

错误#85923 GRAPHQL

您的 GraphQL 查询出错:

无法查询“查询”类型的字段“页面”。

gatsby-node.js中的相关代码为:

const _ = require('lodash')
const path = require('path')
const { createFilePath } = require('gatsby-source-filesystem')
const { paginate } = require('gatsby-awesome-pagination')

const getOnlyPublished = edges =>
  _.filter(edges, ({ node }) => node.status === 'publish')

exports.createPages = ({ actions, graphql }) => {
  const { createPage } = actions

  return graphql(`
    {
      pages {
        edges {
          node {
            id
            slug
            status
          }
        }
      }
    }
  `)
    .then(result => {
      if (result.errors) {
        result.errors.forEach(e => console.error(e.toString()))
        return Promise.reject(result.errors)
      }

盖茨比配置:

module.exports = {
  siteMetadata: {
    siteUrl: "https://www.yourdomain.tld",
    title: "graphql-test",
  },
  plugins: [
    {
      resolve: "gatsby-source-wordpress",
      options: {
        url: "https://*********/graphql",
      },
    },
    "gatsby-plugin-sass",
    "gatsby-plugin-react-helmet",
    "gatsby-plugin-sitemap",
  ],
};

这是一个全新的测试Gatsby站点,使用gatsby new创建,所有插件都是最新版本。

非常感谢任何帮助!

事实证明,Gatsby 对其 graphql 查询使用的格式略有不同。我应该在 gatsby-node.js 中拥有的是:

  return graphql(`
    {
      allWpPage {
          nodes {
            id
            slug
            status
        }
      }
    }
  `)