我应该使用 express-graphql 还是 apollo-server-graphql

should I use express-graphql or appolo-server-graphql

我正在开发一个使用 graphql 的快速后端,但我不知道我是否需要使用 express-graphql 或 apollo-server-graphql 库。 谢谢您的帮助!

我建议使用 apollo-server-express 而不是 express-graphql。它们非常相似,但是 apollo-server-express 有更多的花里胡哨的东西,同时有一个更简单、更清晰的 API IMO。

对我来说,apollo-server-express最大的进步就是游乐场:https://github.com/prisma/graphql-playground

playground 优于 express-graphql 的 graphiql 有几个原因,但其中一个重要原因是它允许您将 HTTP headers 放入请求中,这更适合处理 session.

www.graphqlbin.com 将允许您在任何没有 cors 的端点上使用 playground。如果您有 cors,那么您将需要直接从您的服务器 运行 playground。

这是一个让您入门的代码示例:

const { ApolloServer } = require('apollo-server-express')
const graphqlServer = new ApolloServer({
  schema,
  introspection: true,
  playground: true,
})
graphqlServer.applyMiddleware({
  app
})