так что у меня есть этот код для моих server.js и schema.js, следуя руководству по apollo doc https://www.apollographql.com/docs/tutorial/introduction/
server.js
import apollo from "apollo-server-express";
const { ApolloServer } = apollo;
import express from "express";
import typeDefs from "./schema.js";
const app = express();
const server = new ApolloServer({
typeDefs,
playground: true,
});
server.applyMiddleware({ app });
const PORT = process.env.PORT || 4000;
app.listen(PORT, () => {
console.log(`operating on port ${PORT}`);
})
schema.js
import pkg from "apollo-server-express"
const { gql } = pkg
// defining schema
const typeDefs = gql`
type Launch {
id: ID!
site: String
mission: Mission
rocket: Rocket
isBooked: Boolean!
}
type Rocket {
id: ID!
name: String
type: String
}
type User {
id: ID!
email: String!
trips: [Launch]!
}
type Mission {
name: String
missionPatch(size: PatchSize): String
}
enum PatchSize {
SMALL
LARGE
}
type Query {
launches: [Launch]!
launch(id: ID!): Launch
me: User
}
type Mutation {
bookTrips(launchIds: [ID]!): TripUpdateResponse!
cancelTrip(launchId: ID!): TripUpdateResponse!
login(email: String): String # login token
}
type TripUpdateResponse {
success: Boolean!
message: String
launches: [Launch]
}
`
export default typeDefs
Единственная настройка, которую я сделал, заключалась в том, чтобы выбрать метод импорта / экспорта модулей ES-модулей вместо обычного способа JS, который используется в документации, что, как я думаю, не должно быть проблемой, он компилируется без ошибок, но вместо того, чтобы заставить игровую площадку graphql видеть мои схема, я получаю cannot Get /
Я еще не делал резолверов, но думаю, что на данный момент я уже должен увидеть игровую площадку в действии. согласно документации