带或不带express的Apollo服务器4:独立服务器与expressMiddleware

问题描述 投票:0回答:1

我是 graphql 新手,我想使用 mongoose 和 MongoDB 构建我的第一个 API。 到目前为止,我已经使用 Express、mongoose 和 MongoDB(在 MERN 应用程序中)构建了一些 API。

我想使用 Apollo/server ,并且我意识到构建服务器有两种选择,使用

startStandaloneServer
,因此不使用express(我的意思是,不将其安装为依赖项),并使用
expressMiddleware
,构建一个看起来更传统的 Express 应用程序(据我所知)。

我已经成功构建了两个服务器,每个服务器一个,将它们连接到我的数据库,并执行一些基本查询(目前没有突变),到目前为止一切顺利。

但是在继续并开始使用 JWT 令牌构建更复杂的查询、突变、授权策略等之前,我想问一下使用 ApolloServer 的两种“方式”之间有什么区别,优缺点或事物我应该考虑一下。

graphql apollo-server
1个回答
0
投票

这个问题在 Apollo Server 文档中得到了解答。 这里这里

功能

startStandaloneServer
是Apollo快速设置的一个快捷应用程序,可以更快地开始使用。 这意味着我们需要更少的设置来配置我们的服务器,但同时可配置性也更少:例如我们无法配置自己的
cors
策略。

函数

expressMiddleware
将允许我们对服务器进行更典型的配置,包括我们决定使用的中间件。

startStandaloneServer
在底层使用
expressMiddleware

© www.soinside.com 2019 - 2024. All rights reserved.