Исключение 'Got Object' в определении схемы GraphQL - PullRequest
0 голосов
/ 25 октября 2018

Схема, которую я определил, выглядит примерно так:

import { gql } from 'apollo-server';

export default gql`
    type ProjectEntry {
        ID: Int!
        Name: String
    }

    # The schema allows the following Queries:
    type Query {
        project(id: Int!): ProjectEntry
        projects: [ProjectEntry]
    }
`;

В конце я объединяю все это с:

const typeDefs = require('./data/typedefs');
const resolvers = require('./data/resolvers ');

const server = new ApolloServer({ typeDefs, resolvers });

Но когда я пытаюсь запустить приложение, яполучить эту ошибку: Error: typeDef array must contain only strings and functions, got object

Откуда эта ошибка?

Ответы [ 2 ]

0 голосов
/ 14 июня 2019

У меня была точно такая же ошибка.Решение:

const { typeDefs } = require('./data/typedefs');
const { resolvers } = require('./data/resolvers ');

скобки необходимы, потому что мы не экспортируем значение по умолчанию.Как на веб-интерфейсе:

export default Component -> import Component from "..."
export const Component -> import { Component } from "..."
0 голосов
/ 26 октября 2018

Если вы используете export default 'someString', под капотом, результирующее значение для exports в итоге будет равно { default: 'someString' }.Это то, что позволяет вам объявить как экспорт по умолчанию, так и именованный экспортИмпортируйте свой модуль

// like this
const typeDefs = require('./data/typedefs').default

// or like this
import typedefs from './data/typedefs'
...