Я изучаю graphql с Apollo в разработке для iOS, и в какой-то момент я сталкиваюсь со страшной ошибкой новичка «Определение не выполнимо» при компиляции и запуске сценария.
После некоторых поисков я обнаружил в ветке выпуска Apollo graphql Github , что это, вероятно, потому, что я включил мой файл схемы (* .graphql) в глобус apollo-codegen
. (Обратите внимание, что apollo-codegen
CLI переименован в apollo
CLI, так что это то, что я установил и использовал).
Проблема в том, что я не знаю, что такое apollo glob (впервые слышу) и как его изменить. Я ищу в интернете информацию об apollo glob, и я получил что-то вроде шаблона командной строки, но был также какой-то сайт, который говорил, что это какой-то файл .ts
.
В моем случае, как мне исключить файл схемы из глобуса apollo, чтобы я мог его скомпилировать? Какой шаг мне нужно использовать? Пожалуйста, предположите, что у меня очень мало знаний о Apollo CLI или Linux CLI в целом. Я даже не знаю, что такое Apollo Glob и как его изменить. Спасибо.
Вот полные ошибки:
/server/types.graphql:4: The Customer definition is not executable.
/server/src/hello.graphql:1: The HelloPayload definition is not executable.
/server/src/hello.graphql:5: The Query definition is not executable.
/User.graphql:2: Cannot query field "allCustomer" on type "Query". Did you mean "allUsers"?
/User.graphql:7: Unknown type "Customer". Did you mean "User"?
/User.graphql:14: Cannot query field "createCustomer" on type "Mutation". Did you mean "createUser" or "updateUser"?
Вот содержимое types.graphql
:
type Customer @model {
id: ID! @isUnique
name: String
dateOfBirth: DateTime
telephone: String
}
Вот содержимое hello.graphql
(сгенерировано автоматически):
type HelloPayload {
message: String!
}
extend type Query {
hello(name: String): HelloPayload
}
Вот содержание user.graphql
:
query AllCustomer {
allCustomer {
...CustomerDetails
}
}
fragment CustomerDetails on Customer {
id
name
telephone
}
mutation CreateCustomer($name: String!, $telephone: String!) {
createCustomer(name: $name, telephone: $telephone) {
id
}
}
(у меня также уже есть schema.json
и package.json
здесь)
Я даже не знаю, почему скрипт продолжает говорить об объекте User
или allUsers
, или createUser
, или updateUser
, когда в моем коде ничего этого нет. Это было в какой-то момент. Это автоматически. Но затем я попытался переименовать их все в Customer, но скрипт продолжает ссылаться на объект User
, хотя types.graphql
признал, что по крайней мере есть объект Customer
, который не является исполняемым.