如何将自定义标量导入 NestJs 中的 .graphql 文件?
How do I import a custom scalar into a .graphql file in NestJs?
感谢包@nestjs/graphql 我可以在我的应用程序的每个模块中创建单独的 .graphql 文件,Nestjs 系统收集它们并将它们很好地引入 Apolo 服务器,但是当我尝试时问题来了制作自定义标量,我按照他的教程说的那样做:
https://docs.nestjs.com/graphql/scalars
但我找不到将它们导入 .graphql 文件的方法,因此我无法在该文件中使用它。并且由于文件是 .graphql 导入不起作用。
您知道如何导入要在 .graphql 文件中使用的自定义标量吗?
可以作为例子的是他们使用的例子:
https://github.com/nestjs/nest/tree/master/sample/12-graphql-apollo
正如您在他们的示例中看到的那样,他们公开了他们有一个名为 cat 的模块,在模块内部他们有 cats.resolvers.ts 和 cats.graphql;另一方面,他们定义了 date.scalar.ts。
使用本例的问题:
如何在 cats.resolvers.ts 的 属性 中使用 DateScalar?
我遇到了这个问题并通过以下方式解决了它:
- 首先,我制作了通用模块以将 DateScalar 设置为提供程序并将其导出:
import { Module } from '@nestjs/common';
import { DateScalar } from './scalars/date.scalar';
@Module({
providers: [DateScalar],
exports: [DateScalar]
})
export class CommonModule {}
后来,我将 common 模块导入到 cats 模块中,以便 DateScalar 在整个 cats 模块中可用。
最后我在 cats.graphql 中建立了以下行:
scalar Date
type Cat {
id: Int
name: String
age: Int
birthday: Date
}
请注意 cats.graphql 文件中的 Scale Date
值必须与 date.scalar.ts 文件中 @Scalar ('Date')
中设置的值匹配
感谢包@nestjs/graphql 我可以在我的应用程序的每个模块中创建单独的 .graphql 文件,Nestjs 系统收集它们并将它们很好地引入 Apolo 服务器,但是当我尝试时问题来了制作自定义标量,我按照他的教程说的那样做:
https://docs.nestjs.com/graphql/scalars
但我找不到将它们导入 .graphql 文件的方法,因此我无法在该文件中使用它。并且由于文件是 .graphql 导入不起作用。 您知道如何导入要在 .graphql 文件中使用的自定义标量吗? 可以作为例子的是他们使用的例子:
https://github.com/nestjs/nest/tree/master/sample/12-graphql-apollo
正如您在他们的示例中看到的那样,他们公开了他们有一个名为 cat 的模块,在模块内部他们有 cats.resolvers.ts 和 cats.graphql;另一方面,他们定义了 date.scalar.ts。 使用本例的问题:
如何在 cats.resolvers.ts 的 属性 中使用 DateScalar?
我遇到了这个问题并通过以下方式解决了它:
- 首先,我制作了通用模块以将 DateScalar 设置为提供程序并将其导出:
import { Module } from '@nestjs/common';
import { DateScalar } from './scalars/date.scalar';
@Module({
providers: [DateScalar],
exports: [DateScalar]
})
export class CommonModule {}
后来,我将 common 模块导入到 cats 模块中,以便 DateScalar 在整个 cats 模块中可用。
最后我在 cats.graphql 中建立了以下行:
scalar Date
type Cat {
id: Int
name: String
age: Int
birthday: Date
}
请注意 cats.graphql 文件中的 Scale Date
值必须与 date.scalar.ts 文件中 @Scalar ('Date')
中设置的值匹配