Javascript 在gatsby节点中创建自定义架构后,ChildImageSharp为空
我正在与盖茨比和斯特拉皮建立一个网站,我面临一个无法解决的问题 这是我的问题:Javascript 在gatsby节点中创建自定义架构后,ChildImageSharp为空,javascript,graphql,gatsby,Javascript,Graphql,Gatsby,我正在与盖茨比和斯特拉皮建立一个网站,我面临一个无法解决的问题 这是我的问题: exports.sourceNodes = ({ actions }) => { const { createTypes } = actions const typeDefs = ` type allStrapiBanner implements Node { banner: childImageSharp } type childImageSharp{
exports.sourceNodes = ({ actions }) => {
const { createTypes } = actions
const typeDefs = `
type allStrapiBanner implements Node {
banner: childImageSharp
}
type childImageSharp{
childImageSharp: fixed
}
type fixed{
fixed(width: Int): src
}
type src{
src: String
}
`
createTypes(typeDefs)
}
我制作了一个自定义graphQL模式,以避免在客户机在CMS中留下空字段时构建失败。但由于我在主页横幅上这样做,childImageSharp是空的
我假设我的自定义graphql模式做错了,但我不知道在哪里
这是我的档案:
Homepage.js
const IndexPage = ({ data }) => {
return (
<Layout>
{data.allStrapiBanner.edges[0].node.banner.childImageSharp.fixed &&
<Img
fixed={data.allStrapiBanner.edges[0].node.banner.childImageSharp.fixed}
imgStyle={{ position: "static" }}
/>
}
</Layout>
)
}
export default IndexPage
export const pageQuery = graphql`
allStrapiBanner {
edges {
node {
banner {
childImageSharp {
fixed(width: 800){
src
}
}
}
}
}
}
}
`
现在,当我不将图像上传到我的横幅字段,但当我上传图像childImageSharp时,gatsby build没有错误
我已经读过文件()了,但我没法让它工作。
如果有人能告诉我如何正确创建childImageSharp的自定义模式
提前非常感谢您已解决 经过数小时的残酷努力,我终于解决了我的问题。我不敢相信事情这么简单: 我只是将gastby-node.js中的模式更改为
exports.sourceNodes = ({ actions }) => {
const { createTypes } = actions
const typeDefs = `
type allStrapiBanner implements Node {
banner: File
}
`
createTypes(typeDefs)
}
而且它起作用了