В этом блоге я расскажу о настройке супер простого сервера Apollo, сначала настроив ваши определения типов и преобразователи, которые позволят вам выполнять запросы и изменять. Перед тем как начать, убедитесь, что у вас установлена ​​последняя версия node и npm.

Перво-наперво, давайте создадим каталог, в котором мы будем работать. Внутри вашего терминала cd в какой-то рабочий каталог и создадим новую папку:

mkdir apollo-server-qs

Убедитесь, что cd в папку apollo-server-qs, и выполните следующую команду:

npm init -y

Давайте также быстро создадим пару файлов в одном рабочем каталоге:

touch index.js schema.js resolvers.js

Теперь, когда у нас есть файлы, с которыми мы будем работать, давайте установим соответствующие пакеты, необходимые для Apollo Server и GraphQL:

npm install apollo-server graphql

А внутри нашего файла index.js напишем следующий код:

Довольно круто, да? Ладно, ладно… немногое происходит, но это базовая настройка сервера Apollo, но теперь нам нужно настроить и заработать наши определения типов и преобразователи!

Сначала давайте начнем с наших определений типов. У нас будет базовая Project схема, в которой пользователь может получить список проектов, получить отдельный проект или создать новый проект. Обычно у нас есть какая-то база данных, с которой можно поговорить, но в этом примере мы будем жестко кодировать некоторые вещи.

Внутри нашего schema.js файла напишите следующий код:

И, кстати, для подсветки синтаксиса можно установить расширение GraphQL for VSCode.

Теперь мы можем начать с наших резолверов. Внутри нашего resolver.js файла напишите следующий код:

Как видите, мы жестко запрограммировали список наших проектов, но в реальном сценарии мы будем разговаривать с какой-то базой данных. Это также означает, что мы будем иметь дело с асинхронными данными, и мы можем легко справиться с этим, используя async / await:

const resolvers = {
  Query: {
    getProjects: async () => {await ...},
  }
}

А теперь, если мы запустим наш сервер и перейдем к localhost:4000, мы сможем увидеть, как все части головоломки действительно сочетаются друг с другом!

Изначально у вас должно получиться что-то вроде этого:

Довольно аккуратно, правда? Хорошо, давайте посмотрим, как мы можем получить наш список проектов. Напишите следующие строки:

А теперь нажмите кнопку воспроизведения!

Потрясающие! А теперь давайте возьмем один проект:

Чертовски круто, да? Хорошо, теперь давайте представим, что создаете новый проект:

Отлично! Это базовая установка для создания сервера Apollo с запросами и изменениями.

Возможно, в следующем блоге мы рассмотрим подключение к базе данных и собственно работу с асинхронными данными! Надеюсь, вам понравилось это чтение, и увидимся в следующий раз!