Apollo Server 2.x express 中间件
Posted
技术标签:
【中文标题】Apollo Server 2.x express 中间件【英文标题】:Apollo Server 2.x express middleware 【发布时间】: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 中间件一起使用的文档?
提前谢谢你
【问题讨论】:
【参考方案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 );
【讨论】:
以上是关于Apollo Server 2.x express 中间件的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Express 和 Apollo-Server 获取 HTTP 授权标头
升级到 apollo-server-express 2.0.0 缺少上下文
是否可以将 apollo-server-express 部署到 lambda?
apollo-server-express:如何解决内部订阅问题?
graphql + apollo-server-express,如何处理 express authMiddleware 中的身份验证错误?