GraphQL Nexus相当新,文档似乎缺乏。此外,这些例子也缺乏。从示例和文档我试图添加自己的NON-GraphQL标量类型。我按照文档中的示例创建了自己的标量,但是当我尝试在对象类型中调用它时,我得到了读取下划线。我究竟做错了什么?
为了解决这个问题,我所做的是: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开发者来说,这可能是不言自明的,但我是新手,所以这些步骤都逃过了我。
快乐的编码!