У меня небольшой проект с несколькими запросами. Я заметил много разговоров об apollo-сервере, который, кажется, является прямой альтернативой для бэкэндов, использующих graphql.
В настоящее время я использую graphqlHTTP в качестве промежуточного программного обеспечения для экспресса, вот так:
const express = require("express")
const app = express();
app.use("/graphql", graphqlHTTP({
schema: schema,
rootValue: root,
graphiql: true
}))
и использую API выборки всякий раз, когда мне нужно запросить что-то из серверной части.
Затем с помощью apollo кажется, что вы передаете схему и средства распознавания и создаете экземпляр сервера. создайте свой экспресс-сервер и используйте его в качестве промежуточного программного обеспечения для вашего apolloserver. Но затем запустить экспресс-сервер вместо apolloserver?
const server = new ApolloServer({ typeDefs, resolvers });
const app = express();
server.applyMiddleware({ app });
app.listen({ port: 4000 }, () =>
console.log(`? Server ready at http://localhost:4000${server.graphqlPath}`)
);
Пример:
https://www.npmjs.com/package/apollo-server-express?activeTab=readme
когда мне следует использовать сервер apollo поверх экспресс-сервера с промежуточным программным обеспечением graphQLHTTP?