Как установить Apollo Server и GraphQL?
Что такое GrapQL?
GraphQL — это язык запросов к данным. В отличие от большинства языков запросов (например, SQL), GraphQL не используется для запросов к определенному типу хранилища данных (например, к базе данных MySQL). Вместо этого GraphQL используется для запросов к данным из любого количества различных источников
Что такое Apollo Server?
Apollo Server — это сервер GraphQL с открытым исходным кодом, соответствующий спецификации и совместимый с любым клиентом GraphQL, включая Apollo Client. Это лучший способ создания готового к производству, самодокументирующегося GraphQL API, который может использовать данные из любого источника
Зачем использовать Apollo Server вместе с GraphQL?
Создание GraphQL API с помощью платформы Apollo дает командам и организациям доступ к современным инструментам, которые помогают быстро выявлять ошибки, получать видимость API, разрабатывать сложные функции, такие как кэширование, и в целом повышают уверенность в серверах
Введение
Мы имеем представление о том, что GraphQL — это типизированный язык запросов, позволяющий клиентским приложениям запрашивать нужные им данные. Но как создать GraphQL API? GraphQL — это спецификация, а не прямая реализация. Это означает, что GraphQL может быть реализован на различных языках программирования
Предварительные условия
Для выполнения данного руководства вам потребуется:
- Базовое понимание HTML, CSS и JavaScript.
- Желателен опыт работы с более новыми технологиями фронтенда (например, React) и Git/npm.
- Знать, как создать минимальный сервер Node/Express.
- Знать, как включить автоматическую перезагрузку с помощью Nodemon в качестве инструмента разработки.
- Локальная среда разработки для Node.js. Следуйте инструкциям по установке Node.js и созданию локальной среды разработки.
- Базовые знания GraphQL будут полезны.
Проверено на Node v16.3.0, npm v8.7.0 apollo-server v2.31.1, graphql v15.4.0
Установите Apollo Server и GraphQL
Установите Apollo для создания API.
В частности, с помощью пакета Apollo Server, который является серверным пакетом в экосистеме Apollo. Apollo Server позволяет создать готовый к производству, самодокументирующийся GraphQL API в приложениях Node. Он очень прост в использовании и легко адаптируется.
Мы установим Express-вариант популярной библиотеки Apollo Server и библиотеку GraphQL JavaScript.
Apollo Server — это одна из библиотек фреймворка Apollo, которая призвана помочь в построении GraphQL API в приложениях Node. Apollo Server позволяет подключить схему GraphQL к серверу и может быть использован для создания отдельного сервера, дополнения к существующему серверу Node или даже для работы в «бессерверных» средах. В данном случае мы будем использовать Apollo Server в качестве дополнения к существующему серверу Node/Express.
Установка Apollo Server Express
Чтобы добавить Apollo Server в существующий серверный проект Node/Express, установим библиотеку apollo-server-express.
npm install apollo-server-express
Обратите внимание, что apollo-server-express — это проект на TypeScript, поэтому нам не придется устанавливать для него дополнительный файл объявления типов.
Установите GraphQL для создания API
Чтобы использовать Apollo Server, необходимо установить в приложение еще одну зависимость. Необходимо установить JavaScript-библиотеку graphql. Это связано с тем, что библиотека graphql является одноранговой зависимостью пакета Apollo Server. Кроме того, библиотека graphql будет использоваться в нашей первой попытке построить схему.
Сначала вы устанавливаете библиотеку graphql в качестве зависимости от приложения.
npm install graphql
Обратите внимание, что javascript-библиотека graphql не имеет собственных определений типов, поэтому для нее также необходимо установить дополнительный файл объявления типов в зависимости от dev приложения
npm install -D @types/graphql
Это единственные дополнительные библиотеки, необходимые для начала разработки нашей схемы GraphQL!
Чтобы запустить наш код с помощью Nodemon, достаточно ввести в терминале команду npm run start:
npm run start
Когда мы запустим сервер и перейдем к расположению нашей конечной точки GraphQL — https://localhost:9000/api, перед нами откроется IDE Sandbox для взаимодействия с вашим API!
Заключение
В этом кратком руководстве мы рассмотрели, как установить сервер GraphQL и Apollo Server, а также все дополнительные зависимости. Мы также рассмотрели, как получить доступ к песочнице A Apollo Graphql Sandbox, запустив локальный сервер nodemon.