Reactjs Netlify部署无法查询字段“;allContentfulGallery“;“关于类型”;查询「;
我正在React.js、Gatsby.js和Contentful上创建一个应用程序。我的应用程序在本地运行正常,但当我将应用程序部署到NatilifyReactjs Netlify部署无法查询字段“;allContentfulGallery“;“关于类型”;查询「;,reactjs,gatsby,netlify,contentful,netlify-cli,Reactjs,Gatsby,Netlify,Contentful,Netlify Cli,我正在React.js、Gatsby.js和Contentful上创建一个应用程序。我的应用程序在本地运行正常,但当我将应用程序部署到Natilify时,无法在类型“query”上查询字段“allContentfulGallery”。和我的GraphQl查询也正常运行。请帮助我,我非常坚持这个错误。“allContentfulGallery”是我的收藏名称 非常感谢 我的gatsby-node.js配置 const galleryResult = await graphql(` qu
时,无法在类型“query”上查询字段“allContentfulGallery”。
和我的GraphQl查询也正常运行。请帮助我,我非常坚持这个错误。“allContentfulGallery”是我的收藏名称
非常感谢
我的gatsby-node.js配置
const galleryResult = await graphql(`
query gallery {
allContentfulGallery {
edges {
node {
title
slug
images {
title
file {
url
}
}
sys {
contentType {
sys {
id
linkType
type
}
}
revision
type
}
}
}
}
}
`)
var galleryArr =
galleryResult &&
galleryResult.data &&
galleryResult.data.allContentfulGallery &&
galleryResult.data.allContentfulGallery.edges
galleryArr.forEach(edge => {
createPage({
path: `/gallery/${edge.node.slug}`,
component: galleryTemplate,
context: {
title: edge.node.title,
slug: edge.node.slug,
sys: {
...edge.node.sys,
},
},
})
})
(根据评论)似乎没有正确设置,因为它们在本地工作(在这两种环境下,gatsby develope
和gatsby build
),但在GitLab和Netlify上都不工作
处理Gatsby+Netlify需要在所有环境变量前面加上Gatsby_uu前缀,如您所见:
任何前缀为GATSBY_u
的文件都由
Gatsby和在浏览器中提供客户端JavaScript
通道更多信息,请访问
信息
因此,在本地更改所有变量,并在Netlify和GitLab仪表板中使用GATSBY\uuz
作为前缀
CONTENTFUL_ENVIRONMENT
CONTENTFUL_API_KEY
CONTENTFUL_SPACE_ID
将成为:
GATSBY_CONTENTFUL_ENVIRONMENT
GATSBY_CONTENTFUL_API_KEY
GATSBY_CONTENTFUL_SPACE_ID
请记住,这种方法适用于所有环境变量,而不仅仅是内容变量
通常情况下,我对解决方案非常确定,但在您的情况下,如果您没有正确设置环境变量,插件配置应该会失败,在问题提示之前中断编译,而事实并非如此。“我的应用程序在我的本地计算机上运行良好”->意味着运行
gatsby build
可以工作吗?你在Netlify中上传了你的内容API密钥了吗?是的,盖茨比构建在我的本地应用程序上运行良好。是的,我已将API密钥上载到我的GitLab,Netlify与GitLab自动同步。它们的前缀是否为GATSBY_uu
?否。env与CONTENTFUL_ENVIRONMENT='master'相似,而GATSBY config与ENVIRONMENT:process.env.CONTENTFUL_ENVIRONMENT相似?process.env.CONTENTFUL_环境:“master”,