Gatsby createTypes 不使用 File 创建 localFile

Gatsby createTypes don't create localFile using File

当 graphql 中有一个空字段(在 cms 中有时该字段为空有时不是)时,我对 运行 Gatsby 有疑问。我设法通过 gatsby-node.js 通过 createTypes 添加缺失的内容来解决这个问题。不幸的是,就像使用字符串类型的文本工作正常一样,因此没有创建使用文件类型子字段 localFile 的照片。即使没有照片,我也需要 localFile 出现,就像添加照片一样。有谁知道如何解决这个问题。非常感谢您的帮助。

盖茨比-node.js

exports.sourceNodes = ({ actions }) => {
 const { createTypes } = actions
 const typeDefs = ` type StrapiPageEstimateRealizations implements Node { 
     Title: String
     Description: String
     Img: File
} 

` 
createTypes(typeDefs) 
}

graphql when the photo field is empty

graphql when a picture is added in cms

File 不是原生类型,因此根据上下文,您需要添加自定义类型。

尝试像这样定义您的自定义类型:

type LocalFile {
  localFile: File @link(from: "localFile___NODE")
}

然后:

 const typeDefs = ` type StrapiPageEstimateRealizations implements Node { 
     Title: String
     Description: String
     Img: LocalFile 
} 

有用的资源: