Relay Modern — что такое database.js и нужен ли он?

В примере приложения Relay Modern todo-modern есть файл с именем database.js. Необходим ли этот файл во всех приложениях Relay Modern? Если нет, то как вы определяете {nodeInterface, nodeField} без него? Кажется, у него есть все эти функции получения, смысл которых я не понимаю.

Я обнаружил, что не хватает документации или примеров Relay Modern. Это очень расстраивает.


person John D.    schedule 10.06.2017    source источник
comment
Файл database.js имитирует данные. . Подробное пошаговое руководство по Relay Modern см. в этом руководстве: graph.cool/docs/tutorials/.   -  person marktani    schedule 10.06.2017


Ответы (1)


Это четко не указано в документации, но schema.js и database.js предназначены для имитации службы удаленного сервера, на которой работает GraphQL. У меня уже есть серверная часть PHP, на которой работает сервер GraphQL, поэтому вот что мне нужно было сделать:

  1. Установите глобально пакет npm get-graphql-schema.
  2. Добавьте скрипт npm в мой package.json: "generate-graphql": "get-graphql-schema http://0.0.0.0:8000/graphql > ./App/Data/schema.graphql". Очевидно, измените локальную конечную точку на конечную точку graphql вашего сервера и измените вывод туда, где вы хотите, чтобы ваша схема существовала.
  3. Запустите npm run generate-graphql, который генерирует схему
  4. Добавьте скрипт npm, чтобы использовать новую схему для создания необходимых сгенерированных файлов: "relay:build": "relay-compiler --src ./App --schema ./App/Data/schema.graphql". Опять же, измените конечные точки по мере необходимости.
  5. Запустите этот новый скрипт. Вы должны быть готовы идти!
person John D.    schedule 20.06.2017