目录
迁移指南
从v10迁移到v11
本章提供了从@nestjs/graphql版本10迁移到版本11的一组指南。
作为这个主要版本的一部分,我们将Apollo驱动程序更新为与Apollo Server v4兼容(而不是v3)。
注意:Apollo Server v4中存在一些重大变化(特别是在插件和生态系统包方面),
因此您将不得不相应地更新代码库。
有关更多信息,请参见Apollo Server v4迁移指南。
Apollo包
不再安装apollo-server-express包,您将需要安装@apollo/server:
npm uninstall apollo-server-express
npm install @apollo/server
如果使用Fastify适配器,您将需要安装@as-integrations/fastify包:
npm uninstall apollo-server-fastify
npm install @apollo/server @as-integrations/fastify
Mercurius包
Mercurius网关不再是mercurius包的一部分。相反,您将需要单独安装@mercuriusjs/gateway包:
npm install @mercuriusjs/gateway
同样,为了创建联合模式,您将需要安装@mercuriusjs/federation包:
npm install @mercuriusjs/federation
从v10迁移到v9
本章提供了从@nestjs/graphql版本9迁移到版本10的一组指南。
此主要版本发布的重点是提供一个更轻量级、与平台无关的核心库。
引入“driver”包
在最新版本中,我们决定将@nestjs/graphql包拆分成几个单独的库,
让您可以选择在项目中使用Apollo(@nestjs/apollo)、
Mercurius(@nestjs/mercurius)或其他GraphQL库。
这意味着现在您必须明确指定应用程序将使用的驱动程序。
之前
import { Module } from '@nestjs/common';
import { GraphQLModule } from '@nestjs/graphql';
@Module({
imports: [
GraphQLModule.forRoot({
autoSchemaFile: 'schema.gql',
}),
],
})
export class AppModule {}
// 之后
import { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo';
import { Module } from '@nestjs/common';
import { GraphQLModule } from '@nestjs/graphql';
@Module({
imports: [
GraphQLModule.forRoot<ApolloDriverConfig>({
driver: ApolloDriver,
autoSchemaFile: 'schema.gql',
}),
],
})
export class AppModule {}