kind undefined 在这里是什么意思?我找不到此错误的任何解决方案

What does kind undefined mean here? I cannot find any solution for this error

我正在尝试将我的 GraphQL API 架构拆分成单独的架构。 在熟悉了其中的大量内容后,我决定使用下面的 "extend" ( 我也想为他们使用 .graphql 文件扩展名,但正如我所知,只有一种方法可以做到这一点——那就是使用 webpack。我不太擅长,所以我尝试了使其首先与 .js 文件一起工作)

BUT:我无法完成这个简单的任务,因为我有 TypeError: Cannot read 属性 'kind' of undefined 传递了无效的架构 ,或者弹出其他内容...

我在这里做错了什么,什么是最好的 practice/approach 拆分和拼接架构?

提前致谢!

server.js

import express from "express";
import { ApolloServer, gql } from "apollo-server-express";
import { makeExecutableSchema } from 'graphql-tools';
import * as mongoClient from "./config";
import * as _ from 'lodash';

import { UserSchema, UserResolvers } from "./graphql.partials/user.api";

const port = process.env.PORT || 8080;

const RootSchema = gql`

    type Query {
        _empty: String
    }

    type Mutation {
        _empty: String
    }
`

const RootResolvers = {
};


const app = express();


const schema = makeExecutableSchema({
    typeDefs: [RootSchema, UserSchema],
    resolvers: _.merge(RootResolvers, UserResolvers)
});


const apolloServer = new ApolloServer({ schema });
apolloServer.applyMiddleware({ app });


app.listen({ port }, () => {
    console.log(
        `Server ready at http://localhost:${port}${apolloServer.graphqlPath}`
    );
});

用户架构


const { gql } = require("apollo-server-express");
import User from '../models/User';


export const typeDefs = gql`

extend type Query {
    users: [User]
    user(id: String): User
} 

extend type Mutation {
    addUser(email: String, password: String): User
    deleteUser(id: String!): User
    updateUser(user: UserInput): User
}

type User {
    id: ID!
    firstName: String
    lastName: String
    email: String!
    password: String!
    confirmed: Boolean
    role: String
}

input UserInput {
    id: ID!
    firstName: String
    lastName: String
    email: String
    password: String
    confirmed: Boolean
    role: String
}
`

export const UserResolvers = {
    Query: {
        users: async (obj, args, context, info) => {
            try {
                const res = await User.find();
                return res;
            } catch (err) {
                return err.message;
            }
        },
        user: async (obj, args, context, info) => {
            try {
                const res = User.findById(args['id']);
                return res;
            } catch (e) {
                return e.message;
            }
        }
    },

    Mutation: {
        addUser: async (obj, args, context, info) => {
            try {
                const res = await User.create(args);
                return res;
            } catch (err) {
                return err.message;
            }
        },
        deleteUser: async (obj, args, context, info) => {
            try {
                return User.findByIdAndDelete(args['id']);
            } catch (e) {
                return e.message;
            }
        },
        updateUser: async (obj, args, context, info) => {
            try {
                return User.findByIdAndUpdate(args.user.id, args.user)
            } catch (e) {
                return e.message;
            }

        }
    }
}

您的文件中没有名为 UserSchema 的导出。您有两个命名导出 -- UserResolverstypeDefs。因此,当您尝试导入 UserSchema 时,其值未定义。