GraphQL Nexus - 添加自定义标量类型

问题描述 投票:1回答:1

GraphQL Nexus相当新,文档似乎缺乏。此外,这些例子也缺乏。从示例和文档我试图添加自己的NON-GraphQL标量类型。我按照文档中的示例创建了自己的标量,但是当我尝试在对象类型中调用它时,我得到了读取下划线。我究竟做错了什么?

graphql scalar
1个回答
1
投票

为了解决这个问题,我所做的是:1。一旦你创建了自己的标量类型,例如:

 #json.ts **FILE NAME MATTERS**
 export const JSONScalar = scalarType({
 name: "JSON",
 asNexusMethod: "json",
 description: "JSON scalar type",
 ...})

2.一旦我在一个单独的对象中调用了新类型,我必须在我的字段上面添加它以便编译,你可能也没有:

  //@ts-ignore
    t.topjson("data");

3.在我的make模式中,我首先添加了标量代码:

  const schema = makeSchema({
    types: [JSONScalar, MyObject, BlahObject],

文件的名称非常重要我认为这是生成模式的方式并查找新类型。我还认为你必须首先在makeSchema中编译该代码,但是我没有尝试切换顺序,因为我花了很多时间试图弄清楚如何使我自己的标量类型工作。

对于经验丰富的Nexus开发者来说,这可能是不言自明的,但我是新手,所以这些步骤都逃过了我。

快乐的编码!

© www.soinside.com 2019 - 2024. All rights reserved.