Gatsby GraphQL 查询多个图像

Posted

技术标签:

【中文标题】Gatsby GraphQL 查询多个图像【英文标题】:Gatsby GraphQL query for multiple images 【发布时间】:2018-06-16 06:36:03 【问题描述】:

我正在努力弄清楚如何在 Gatsbyjs 中使用 GraphQL 查询多个特定图像。我最初的想法是做这样的事情:

file(relativePath: eq: "images/front.jpg") 
  id

file(relativePath: eq: "images/front2.jpg") 
  id

这会在 GraphQL 中引发错误:


  "errors": [
    
      "message": "Fields \"file\" conflict because they have differing arguments. Use different aliases on the fields to fetch both if this was intentional.",
      "locations": [
        
          "line": 28,
          "column": 1
        ,
        
          "line": 31,
          "column": 1
        
      ]
    
  ]

查询一个特定文件(图像)可以正常工作:

file(relativePath: eq: "images/front.jpg") 
  id

有什么暗示我在这里做错了吗?谢谢:)

【问题讨论】:

【参考方案1】:

发现诀窍是使用 graphQL docs 中描述的别名

在我的情况下,将查询更改为此似乎可以解决问题:

front: file(relativePath: eq: "images/front.jpg") 
  id

front2: file(relativePath: eq: "images/front2.jpg") 
  id

【讨论】:

就像在 GraphQL 文档中提到的那样,将它们包装成一个对象会更好

以上是关于Gatsby GraphQL 查询多个图像的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Graphql 从 Strapi 查询 Gatsby 中的多个图像

Gatsby 和 WordPress graphQL:按 id 查询多个图像

“无法读取未定义的属性‘节点’” - Gatsby/GraphQL/Prismic

来自 markdown 帖子的 Gatsby 图像未从 graphql 查询中显示

单个 GraphQL 查询中的多个源 (Gatsby)

在 Gatsby 中使用 graphQL 查询多个 JSON 文件