Я пытаюсь получить интерфейс, работающий с новым расширением преобразователя @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 для представления изображений, если это вообще что-то меняет!