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
}
}
}
`)
我是 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
}
}
}
`)