5

我有一个相当简单的 Gatsby & Netlify CMS 网站。我无法应付使图像可选的问题。对于 Netlify CMS,只需设置一个字段required: false。如何为 Gatsby 编写查询,以免出现错误“GraphQL 错误字段“图像”不能选择,因为“字符串”类型没有子字段。当图像实际上是一个空字符串,因为它在我的应用程序中不是强制性的?有没有办法解决?

GraphQL 图像查询:

image {
  childImageSharp {
    fluid(maxWidth: 2048) 
      ...GatsbyImageSharpFluid
    }
  }
}
4

1 回答 1

1

在您的 gatsby-node.js 中,您必须定义一个 graphql 类型来处理这种情况。

exports.createSchemaCustomization = ({ actions }) => {
  const { createTypes } = actions;
  const typeDefs = `
    type MarkdownRemark implements Node {
      frontmatter: Frontmatter
    }
    
    type Frontmatter @infer {
      yourimage: File @fileByRelativePath,
    }
  `;
  createTypes(typeDefs);
};
于 2021-01-12T15:35:45.283 回答