1

花了几个小时在网上梳理答案并开始感觉到这是不可能的。

我正在使用gatsby-plugin-image带有 V3 gatsby 站点的新版本,getImageData()在构建时查询中使用没有问题(通过import {graphql} from 'gatsby'

我现在有一个使用 Apollo ( ) 运行的客户端gatsby-plugin-apollo查询,但我能得到的只是给定内容资产的 url,以及其他一些没有多大用处的信息(请参阅下面的第一个链接以供参考)。我需要运行这个查询客户端,因为它依赖于本地存储。

有谁知道从客户端查询时从 Contentful Delivery API 获取用于组件的图像数据的方法?只有 url,我的图像看起来真的很糟糕,我必须做更多的编码来解释不同的图像源,因为这是一个可重用的组件。

似乎我的插件列表,即gatsby-source-contentful在使用 Apollo 客户端时没有任何影响,因此数据不会以任何方式转换,使其可用于 gatsby-plugin-image

一些参考链接:

内容丰富的 GraphQL 内容 API 文档重新资产

我的客户端查询 provider.logo 是我想使用的图像:

import { gql, useLazyQuery } from '@apollo/client'

const GET_SAVED_RESOURCES = gql`
  query($bookmarks: [String], $locale: String!) {
    resourcePageCollection(
      locale: $locale,
      where: {
        sys: {
          id_in: $bookmarks
        }
      }
    ) {
      items {
        sys { id }
        title
        slug
        tags
        provider {
          ... on Provider {
            name
            logo {
              title
              url(transform: { height: 60 })
            }
          }
        }
      }
    }
  }
`
4

0 回答 0