Apollo makeExecutableSchema выдает ошибку «Не удается прочитать свойство« вид »неопределенного» - PullRequest
0 голосов
/ 04 июля 2018

Я пытаюсь выполнить сшивание схемы с помощью apollo, но каждый раз, когда я использую makeExecutableSchema, я получаю сообщение об ошибке. Ошибка следующая:

.. / node_modules / graphql-инструменты / DIST / порождающие / concatenateTypeDefs.js: 9:

-> if (typeDef.kind! == undefined)

TypeError: Невозможно прочитать свойство 'kind' из неопределенного

Я воспроизвел проблему даже при простом копировании базового примера на сайте Apollo

const { ApolloServer, gql, makeExecutableSchema } = require("apollo-server");
const { addMockFunctionsToSchema, mergeSchemas } = require("graphql-tools");

const chirpSchema = makeExecutableSchema({
  typeDefs: `
      type Chirp {
        id: ID!
        text: String
        authorId: ID!
      }

      type Query {
        chirpById(id: ID!): Chirp
        chirpsByAuthorId(authorId: ID!): [Chirp]
      }
    `
});

addMockFunctionsToSchema({ schema: chirpSchema });

const authorSchema = makeExecutableSchema({
  typeDefs: `
      type User {
        id: ID!
        email: String
      }

      type Query {
        userById(id: ID!): User
      }
    `
});

addMockFunctionsToSchema({ schema: authorSchema });

const schema = mergeSchemas({
  schemas: [chirpSchema, authorSchema]
});

const server = new ApolloServer(schema);

server.listen().then(({ url }) => {
  console.log(`? Server ready at ${url}`);
});

Что я делаю не так? Однако я стараюсь всегда получать ту же ошибку при использовании makeExecutableSchema.

1 Ответ

0 голосов
/ 05 июля 2018

Из того, что я вижу, вы используете apollo-server@2.0.0-rc в этой версии Конструктор ApolloServer получает параметр параметров

Конструктор (опция)

вы должны передать new ApolloServer({ schema: schema }) вместо new ApolloServer(schema)

Я попробовал это на примере, который вы привели, и это сработало:)

...