NodeJS Apollo-server hide graphql ui in production

kzmpq1sx  于 12个月前  发布在  Node.js
关注(0)|答案(3)|浏览(94)

我一直在寻找这个问题的解释。这个问题有点“基本”,所以我急于找到解决方案,但我没有。
我想隐藏生产服务器中的图形用户界面,这样任何人都看不到我的查询,但我做不到。我没有问题弄清楚如何在本地和生产环境中使用不同的环境变量。我在文档中搜索,但我找不到方法。
提前感谢!

erhoui1w

erhoui1w1#

要禁用UI,您可以使用playground: false进行配置
https://www.apollographql.com/docs/apollo-server/testing/graphql-playground/

const server = new ApolloServer({
  schema, 
  introspection: false,
  playground: false,
});

字符串

2w2cym1i

2w2cym1i2#

可能您没有设置NODE_ENV=生产。
在开发过程中,Apollo Server在与GraphQL服务器本身相同的URL上启用GraphQL Playground(例如http://localhost:4000/graphql),并自动将GUI提供给Web浏览器。当NODE_ENV设置为生产时,GraphQL Playground(以及内省)将被禁用作为生产最佳实践。

umuewwlo

umuewwlo3#

任何使用Apollo Server 4的人-需要应用以下插件:ApolloServerPluginLandingPageDisabled()-因为Playground已从配置中删除。

相关问题