GraphQL Nexus - добавление пользовательского скалярного типа - PullRequest
1 голос
/ 08 марта 2019

GraphQL Nexus довольно новый, и документации, похоже, не хватает.Кроме того, примеры также отсутствуют.Из примера и из документа я пытаюсь добавить свой собственный скалярный тип NON-GraphQL.Я создал свой собственный скаляр, следуя примеру в документации, однако, когда я пытаюсь вызвать его в типе объекта, я получаю подчеркивание чтения.Что я делаю не так?

1 Ответ

1 голос
/ 08 марта 2019

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

Удачного кодирования!

...