typescript - 如何将自定义标量导入 NestJs 中的 .graphql 文件?
问题描述
感谢@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
正如您在他们的示例中看到的那样,他们公开了他们有一个名为cats 的模块,在模块内部他们有他们的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 {}
后来,我将公共模块导入到猫模块中,这样 DateScalar 在整个猫模块中都可用。
最后,我在cats.graphql 中建立了以下行:
scalar Date
type Cat {
id: Int
name: String
age: Int
birthday: Date
}
注意Scale Date
cat.graphql 文件中的值必须与 date.scalar.ts 文件中设置的值@Scalar ('Date')
匹配
推荐阅读
- ansible - 从 set_fact 返回与 var 相同的数据
- azure - Azure Sql Server 数据库中的作业如何处理?
- python - 创建一个无限循环
- ios - “运行 pod install...” 无限
- javascript - 表单提交成功后删除 required 属性
- python - Python; 确定并向图像片段添加噪声
- python - 如何在传递时删除机器人框架中嵌入参数中的双引号?
- javascript - 如何将 readAsBinaryString 或 readAsDataURL 附加到 FormData
- r - R数据表vlookup最近的日期
- json - Swift Codable:具有字典的数组数组