Невозможно найти определения типа GraphQL для следующих указателей: src / ** / *. Graphql

Я использую инструмент @graphql-codegen/cli для создания типов машинописных текстов на моем сервере graphql. Вот мой codegen.yml контент:

overwrite: true
schema: "http://localhost:3001/graphql"
documents: "src/**/*.graphql"
generates:
  src/generated/graphql.tsx:
    plugins:
      - "typescript"
      - "typescript-operations"
      - "typescript-react-apollo"
  ./graphql.schema.json:
    plugins:
      - "introspection"

Вот сценарий package.json, который я использую для создания своих типов (yarn schema):

"schema": "graphql-codegen --config codegen.yml"

Все они были автоматически сгенерированы при запуске мастера cli yarn codegen init.

Но когда я запускаю yarn schema, я получаю следующие ошибки:

введите описание изображения здесь

(сервер положительно работает на http://localhost:3001/graphql и предоставляет схему графа.

Спасибо за вашу помощь и предложение

Вот файл .graphql, размещенный на моем сервере (http://localhost:3001/graphql

# -----------------------------------------------
# !!! THIS FILE WAS GENERATED BY TYPE-GRAPHQL !!!
# !!!   DO NOT MODIFY THIS FILE BY YOURSELF   !!!
# -----------------------------------------------

"""Date custom scalar type"""
scalar Date

type Mutation {
  create_user(user: UserInput!): User!
  create_pofficer(pofficer: POfficerCreateInput!): POfficer!
  create_incident(incident: TIncidentInput!): TIncident!
  add_incident_type(incident_type: TIncidentTypeInput!): TIncidentType!
}

type POfficer {
  _id: ID!
  userid: ID!
  user: User!
}

input POfficerCreateInput {
  name: String!
  surname: String!
  phone: String!
}

type Query {
  users: [User!]!
  pofficers: [POfficer!]!
  incidents: [TIncident!]!
  incident_types: [TIncidentType!]!
}

type TIncident {
  _id: ID!
  createdAt: Date!
  incidenttype_id: ID!
  pofficer_id: ID!
  toffender_id: ID
  toffender_phone: String!
  carnumber: String!
  incident_status: String!
  pofficer: POfficer!
  toffender: User!
  incident_type: TIncidentType!
}

input TIncidentInput {
  incidenttype_id: ID!
  pofficer_id: ID!
  toffender_phone: String!
  carnumber: String!
}

type TIncidentType {
  _id: ID!
  name: String!
  description: String
}

input TIncidentTypeInput {
  name: String!
  description: String
}

type User {
  _id: ID!
  name: String!
  surname: String!
  email: String
  phone: String!
}

input UserInput {
  name: String!
  surname: String!
  email: String!
  phone: String!
}

person TheSoul    schedule 17.11.2019    source источник
comment
Вы создавали какие-либо .graphql файлы с запросом или изменением? Не могли бы вы разместить их здесь?   -  person Felipe    schedule 18.11.2019
comment
@Felipe Я отредактировал свой вопрос и добавил .graphql файл, размещенный и открытый на моем сервере в http://localhost:3001/graphql   -  person TheSoul    schedule 18.11.2019


Ответы (2)


Файл, которым вы поделились, - это ваша схема (созданная вашим сервером), но кажется, что вы не создавали никаких запросов или изменений поверх нее. Это может быть причиной того, что кодогенератор не работает должным образом.

Я предлагаю вам создать новый файл с помощью простого запроса, например: get-users.query.graphql

query GetUsers {
  user {
    _id
    __typename
    name
    surname
    email
    phone
  }
}

И добавьте его в вашу src папку (поскольку ваш кодогенератор настроен на поиск всех .graphql файлов внутри вашей src папки). Затем повторно запустите кодогенератор и посмотрите, хорошо ли он работает.

Впоследствии вы можете сгенерировать все виды .graphql файлов с вашими запросами и изменениями и использовать кодогенератор для создания соответствующих типов.

person Felipe    schedule 18.11.2019
comment
Спасибо @Felipe. Я отметил ваше предложение как решение моей проблемы - person TheSoul; 21.11.2019
comment
Почему мне нужно вручную создавать эти запросы и мутации? Мог ли генератор не подбирать их автоматически? - person Munib; 17.05.2021
comment
Да, это те запросы и изменения, которые вы собираетесь выполнять на своем сервере. Определения доступных запросов и мутаций, предоставляемые вашим сервером, автоматически генерируются генератором кода. - person Felipe; 17.05.2021

В моем случае я реорганизовал все свои запросы в один файл в новой папке: lib/queries.tsx.

Тогда мне нужно было добавить этот путь к файлу codegen.yml:

documents:
  - "./lib/queries.tsx"
person Stéphane Bruckert    schedule 24.08.2020