gatsby-source-prismic-graphql 查询结构
Posted
技术标签:
【中文标题】gatsby-source-prismic-graphql 查询结构【英文标题】:gatsby-source-prismic-graphql query structure 【发布时间】:2020-02-05 05:12:56 【问题描述】:任何从 gatsby-source-prismic 跳转到 gatsby-source-prismic-graphql 并知道查询结构和命名是否相同的人.
例如,我目前正在为 gatsby-source-prismic 使用类似下面的内容。
export const query = graphql`
query pageQuery($uid: String!)
page: prismicPageTemplate(uid: eq: $uid )
uid
type
data
title
body
... on PrismicPageTemplateBodyQuestionSlice
slice_type
primary
name
title
html
text
我已经阅读了这两个插件的文档,并且还看到其他人提出了类似的问题。 gatsby-source-prismic 的文档将其包含在他们的命名约定中
所有文档都从您的存储库中提取并创建为 prismic$contentTypeName 和 allPrismic$contentTypeName,其中 $contentTypeName 是文档内容类型的 API ID。
如果我想切换到 gatsby-source-prismic-graphql,我是否必须重新编写所有查询,或者他们是否使用相同的命名约定?
【问题讨论】:
【参考方案1】:我注意到的唯一区别是使用 gatsby-source-prismic-graphql 进行的查询在查询的开头添加了一个“棱镜”字段。例如。
prismic
allHomepages
edges
node
title
description
而 gatsby-source-prismic 该字段不可用。这只是第一种方法,进行简单的查询。我不知道是否更复杂,那些深入文档(用于调用切片或链接字段)查询彼此相似甚至更多不同。所以这是我的第一个猜测。
【讨论】:
谢谢宝琳娜。我觉得切片可能会有所不同。我坚持改变,因为我的项目很大。如果您要添加切片,请告诉我结果如何。但这真的很有帮助,谢谢。 我还从您的帖子中注意到 allHomepages 是不同的。这将是 gatsby-source-prismic 中的 allPrismicHomePage ?【参考方案2】:这是一个更复杂的查询版本。我添加了查询名称和两个切片:
query MyHomeQuery
prismic
allHomepages
edges
node
title
description
body
... on PRISMIC_HomeBodyText
type
label
... on PRISMIC_HomeBodyImage_with_caption
type
label
你是对的。 gatsby-source-prismic 中的名称将是 allPrismicHomePage
【讨论】:
谢谢@paulina,这很棒。我还看到他们使用 Snake case(或 snake_case)作为切片。 PRISMIC_ 哇,这意味着从 gatsby-source-prismic 在 Graphql 中重新编写查询。疯狂的!再次感谢您。以上是关于gatsby-source-prismic-graphql 查询结构的主要内容,如果未能解决你的问题,请参考以下文章