contentful graphql 从内容的媒体字段中获取 link 到图像

contentful graphql fetch a link to the image from a content's media field

在 Gatsby 中使用 Contentful 时,如何通过 Gatsby 的 GraphQL 从内容的媒体字段中检索图像? (就像图像的 link 一样)

假设我有一个名为“Article”的内容模型,它包含以下 3 个字段:

field name field type
title Short text
description Short text
photo Media

我写了一个内容,在“照片”上附加了一张图片。

当我转到 GraphQL 时,我可以在 allArticle.edges.node 下找到“标题”和“描述”,但找不到“照片”。

如何从 GraphQL 检索内容中引用的媒体?

共有三个选项:

  • 您的更改未发布:请发布它们。
  • 你有之前的缓存:运行 gatsby clean 再试一次
  • 您还没有添加任何图像:所以添加它(发布您的更改)

显示图像并创建节点后,使用 GraphQL 片段获取它或所需的一堆参数(包含在片段中):

{
  allArticle {
    edges {
      node {
        title
        description
        photo {
          fixed(width: 1600) {
            width
            height
            src
            srcSet
          }
        }
      }
    }
  }
}