@nestjs/graphql升级后playground配置不存在TypeScript报错如何解决
报错原因
@nestjs/graphql 从 7.10.0 版本开始调整了配置项结构,原本顶层的 playground 配置被移动到了 apollo 子配置对象下,TypeScript 类型定义也同步更新,所以旧写法会触发类型不匹配报错。
解决方案
推荐直接适配新版本的配置规范,修改 app.module.ts 中的 GraphQL 模块配置,把 playground 移到 apollo 配置项内即可:
GraphQLModule.forRoot({ path: 'api/graphql', autoSchemaFile: join(process.cwd(), 'src/schema.gql'), sortSchema: true, apollo: { playground: true, } }),
如果暂时不想调整配置结构,也可以通过类型断言绕过 TypeScript 校验(不推荐长期使用):
GraphQLModule.forRoot({ path: 'api/graphql', autoSchemaFile: join(process.cwd(), 'src/schema.gql'), sortSchema: true, playground: true, } as GqlModuleOptions),
你当前使用的 apollo-server-express@2.x 版本完全兼容上述新配置,修改后不会影响原有功能。
内容的提问来源于stack exchange,提问作者Valentine
相关产品推荐
相关产品推荐

