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 查询结构的主要内容,如果未能解决你的问题,请参考以下文章