问题描述
我正在尝试使用 GQL Playground。我加入了一个迄今为止从未使用过它的团队,每当我点击 http://localhost:8001/graphql
时,我都能看到 GQL Playground 加载徽标,但它正在启动循环。
我可以看到他们正在使用 GQL 联合(但我不知道它是如何工作的):
GraphQLFederationModule.forRoot({
typePaths: ['**/*.graphql'],context: ({ req }) => ({
req,loggedUserId: req.headers['x-user-id'],membersByGroupLoader: membersByGroupLoader(),groupsLoader: groupsLoader(),viewsByGroupLoader: viewsByGroupLoader(),customFieldLoader: customFieldLoader(),customFieldUserByContactsLoader: customFieldUserByContactsLoader(),customFieldContactByContactsLoader: customFieldContactByContactsLoader(),}),
如果我尝试添加以下 GraphQLModule,应用程序会崩溃:
GraphQLModule.forRoot({
debug: false,playground: true,
我如何才能让 GQL Playground 正常工作?
解决方法
我终于通过添加这个头盔配置解决了这个问题:
app.use(
helmet({
contentSecurityPolicy:
process.env.NODE_ENV === 'production' ? undefined : false,}),);