Я новичок в GraphQL.Я следую нескольким инструкциям в Интернете, чтобы «создать» небольшое приложение, использующее Apollo Server + Express + GraphQL + MongoDB.
- Я попытался скопировать это руководство YT (он создает файл root.js в папке typeDefs ).
- Этот для целей тестирования.
- И этот , чтобы убедиться в правильности структуры моей папки.
Я получаю данные из GraphQL при компиляции:
Ошибка: может быть только один типс именем «Пользователь».
Ошибка: может быть только один тип с именем «Запрос».
Я структурировал свой код следующим образом:
- config
- модели
- распознаватели
- typeDefs
- index.js
До сих пор,мой код выглядит так:
typeDefs / user.js :
import { gql } from 'apollo-server-express';
const user = gql`
type User {
id: ID!
name: String
email: String
password: String
}
type Query {
getUsers: [User]
}
type Mutation {
addUser(name: String!, email: String!, password: String!): User
}
`;
export default user;
typeDefs / root.js :
import { gql } from 'apollo-server-express';
export default gql`
extend type Query {
_: String
}
type User {
_: String
}
`;
typeDefs / index.js :
import root from './root';
import user from './user';
export default [
root,
user
];
А затем вмой index.js :
import express from 'express';
import { ApolloServer, gql } from 'apollo-server-express';
import typeDefs from './typeDefs';
import resolvers from './resolvers';
const server = new ApolloServer({ typeDefs, resolvers });
const app = express();
server.applyMiddleware({ app });
app.disable('x-powered-by');
app.listen({ port: 4000 }, () => {
console.log(`Server running at http://localhost:4000${server.graphqlPath}`)
});
Что я делаю не так?