多亏了@ 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?
答案 0 :(得分:1)
我遇到了这个问题,并通过以下方式解决了该问题:
import { Module } from '@nestjs/common';
import { DateScalar } from './scalars/date.scalar';
@Module({
providers: [DateScalar],
exports: [DateScalar]
})
export class CommonModule {}
稍后,我将通用模块导入了cats模块,以便整个Cats模块中都可以使用DateScalar。
最后我在cats.graphql内部建立了以下代码行:
scalar Date
type Cat {
id: Int
name: String
age: Int
birthday: Date
}
请注意,cats.graphql文件中的Scale Date
值必须与date.scalar.ts文件中@Scalar ('Date')
中设置的值匹配