【问题标题】:Apollo Server 2.x express middlewareApollo Server 2.x express 中间件
【发布时间】:2019-06-08 01:18:49
【问题描述】:
我使用的是 Apollo Server 2.x(不是 Apollo Server Express)
我喜欢添加一些快速中间件
在这种情况下,我是否需要迁移以使用 apollo-server-express 以添加 express 中间件?或者 apollo server 2.x 可以容纳 express 中间件
如果是 apollo server 2.x,能否指出我如何将 apollo server 2.x 与 express 中间件一起使用的文档?
提前谢谢你
【问题讨论】:
标签:
reactjs
apollo
apollo-server
【解决方案1】:
虽然apollo-server 确实在后台使用了express,但它故意不提供配置其他中间件的方法。其目的是使其对express 的使用是透明的——它可以在未来使用hapi 或其他一些库,而不会破坏现有的实现。如果您需要将apollo-server 与express 集成,则应使用apollo-server-express。迁移很简单:
阿波罗服务器
const server = new ApolloServer({ typeDefs, resolvers });
const port = 4000;
server.listen({ port });
apollo-server-express
const server = new ApolloServer({ typeDefs, resolvers });
const app = express();
server.applyMiddleware({ app });
const port = 4000;
app.listen({ port });