【问题标题】:When I run nest.js, I get a Missing "driver" option error当我运行nest.js 时,我得到一个缺少“驱动程序”选项错误
【发布时间】:2022-02-19 20:43:38
【问题描述】:

我正在使用 nest.js、prisma 和 graphql。
当我运行 npm run start:dev 命令时,出现错误。
如果有人知道如何解决这个问题,请告诉我。

错误 [GraphQLModule] 缺失 “驱动程序”选项。在最新版本的“@nestjs/graphql”包中 (v10) 一个名为“驱动程序”的新必需配置属性已 介绍了。查看官方文档以获取更多详细信息 如何迁移 (https://docs.nestjs.com/graphql/migration-guide)。 示例:

GraphQLModule.forRoot({ 司机:阿波罗司机, })

app.module.ts
import { Module } from '@nestjs/common';
import { GraphQLModule } from '@nestjs/graphql';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { ApolloServerPluginLandingPageLocalDefault } from 'apollo-server-core';
import { DonationsModule } from './donations/donations.module';

@Module({
  imports: [
    GraphQLModule.forRoot({
      playground: false,
      plugins: [ApolloServerPluginLandingPageLocalDefault()],
      typePaths: ['./**/*.graphql'],
    }),
    DonationsModule,
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}

generate-typings.ts
import { GraphQLDefinitionsFactory } from '@nestjs/graphql';
import { join } from 'path';

const definitionsFactory = new GraphQLDefinitionsFactory();
definitionsFactory.generate({
  typePaths: ['./src/**/*.graphql'],
  path: join(process.cwd(), 'src/graphql.ts'),
  outputAs: 'class',
  watch: true,
});

修复

@Module({
  imports: [
    GraphQLModule.forRoot<ApolloDriverConfig>({
      driver: ApolloDriver,
      autoSchemaFile: true,
      plugins: [ApolloServerPluginLandingPageLocalDefault()],
      typePaths: ['./**/*.graphql'],
    }),
    DonationsModule,
  ],
  controllers: [AppController],
  providers: [AppService],
})

【问题讨论】:

    标签: graphql nestjs prisma


    【解决方案1】:

    查看您提到的nestjs/graphql 文档page 和其他link。你必须像这样配置你的GraphQLModule,我在你的代码中没有看到。

    @Module({
      imports: [
        GraphQLModule.forRoot<ApolloDriverConfig>({
          driver: ApolloDriver,
        }),
      ],
    })
    

    【讨论】:

    • 我改写如上。 (fix) 位置 import { ApolloDriverConfig, ApolloDriver } from '@nestjs/apollo'; 出现如下错误。
    • 找不到模块 '@nestjs/apollo' 或相应的类型声明。 ts(2307)
    • 你安装了@nestjs/apollo 吗? @yuturo
    猜你喜欢
    • 2019-11-21
    • 2022-08-15
    • 2014-10-25
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多