Чтобы решить эту проблему, я сделал следующее:
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, однако я новичок, поэтому эти шаги меня ускользнули.
Удачного кодирования!