Отдельные запросы graphQL страниц в отдельных файлах (.graphql)

Можно ли отделить запрос graphql страницы в отдельном файле .graphql, а затем импортировать его в файл страницы? Я полагаю, мне нужно добавить какой-то загрузчик og .graphQL?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Что такое Apollo Client и зачем он нужен?
Что такое Apollo Client и зачем он нужен?
Apollo Client - это полнофункциональный клиент GraphQL для JavaScript-приложений, который упрощает получение, управление и обновление данных в...
2
0
1 775
4

Ответы 4

Насколько мне известно, это невозможно из коробки. Единственный способ разделить запросы - использовать фрагменты: https://www.gatsbyjs.org/docs/querying-with-graphql/#fragments

Однако, если вы хотите начать обсуждение, я бы рекомендовал открыть вопрос на GitHub.

проверьте 'apollo-universal-starter-kit' - должен быть адаптирован к gatsby

Если вы хотите записать свой query, mutation с расширением файла .graphql или .gql.

Вам нужен graphql-tag/loader, вот мой webpack.config.js:

  {
    test: /\.(graphql|gql)$/,
    exclude: /node_modules/,
    use: 'graphql-tag/loader'
  }

Для этого вы можете использовать graphql-import.

Пример: Предположим следующую структуру каталогов:

.
├── schema.graphql
├── posts.graphql
└── comments.graphql

schema.graphql

# import Query.*, Mutation.* from "posts.graphql"
# import Query.*, Mutation.* from "comments.graphql"

posts.graphql

# import Comment from 'comments.graphql'

type Post {
  comments: [Comment]
  id: ID!
  text: String!
  tags: [String]
}

comments.graphql

type Comment {
  id: ID!
  text: String!
}

Вы можете увидеть полный документ в здесь

Другие вопросы по теме