Пользовательская схема, интерфейс, @fileByRelativePath и gatsby-image - PullRequest
0 голосов
/ 21 января 2020

Я пытаюсь получить интерфейс, работающий с новым расширением преобразователя @fileByRelativePath, для обеспечения совместимости с v3.

Я использую Prismi c для своего контента и gatsby-source-prismi c v2. У меня есть два типа контента в Prismi c, и я создал интерфейс, чтобы можно было более легко запрашивать и отображать оба на предмет индекса домашней страницы.

Вот схема функционирования (но с устаревшими логическими преобразователями):

exports.createSchemaCustomization = ({ actions }) => {
  const { createTypes } = actions
  const typeDefs = `
        interface indexPosts @nodeInterface {
            id: ID!
            uid: String!
            data: Data!
            type: String!
        }

        type Data {
            title: Title!
            date: Date!
            featured: String!
            featured_image: Featured_image!
            body: Body!
        }

        type Title {
            text: String!
        }

        type Featured_image {
            localFile: File!
        }

        type Body {
            html: String!
        }

        type PrismicGallery implements Node & indexPosts {
            uid: String!
            data: Data!
            type: String!
        }

        type PrismicEssay implements Node & indexPosts {
            uid: String!
            data: Data!
            type: String!
        }
    `
  createTypes(typeDefs)
}

Проблема возникает после добавления @fileByRelativePath в определение типа Featured_image. Это дает мне ошибку во время сборки:

«Аргумент« путь »должен иметь тип string. Полученный тип не определен»

Я не уверен, как предоставить необходимый аргумент пути, учитывая мои изображения размещаются сторонними организациями. Я пытаюсь следовать краткому руководству в конце этой страницы и подозреваю, что способ сделать это может быть с помощью преобразователя или построителя типов и использования 'source' для доступа к полю URL, предоставленному как localFile и его родитель, featured_image, но я не могу понять!

Я использую gatsby-image и удобное поле childImageSharp для представления изображений, если это вообще что-то меняет!

...