При подключении Apollo к Angular устанавливаются лишние зависимости. Зачем?

При подключении Apollo к Angular, действительно устанавливаются дополнительные зависимости. Они необходимы для работы Apollo и связаны с его функциональностью:

1. apollo-angular: Эта зависимость предоставляет интеграцию между Angular и Apollo. Она включает в себя декораторы и сервисы, которые облегчают работу с GraphQL запросами и мутациями в Angular приложении.

2. apollo-client: Эта зависимость является основой для работы с Apollo в Angular. Она предоставляет клиентскую часть для выполнения GraphQL запросов и обработки данных.

3. graphql: Зависимость graphql необходима, чтобы работать с GraphQL-запросами и типами данных GraphQL в Angular. Она позволяет определять схему GraphQL и создавать собственные запросы и мутации.

4. graphql-tag: Эта зависимость используется для парсинга GraphQL-запросов из строкового формата в объекты, которые могут быть отправлены на сервер при помощи Apollo.

5. apollo-angular-link-http: Эта зависимость предоставляет функциональность для отправки GraphQL-запросов на сервер через HTTP протокол. Она включает в себя сервисы для создания и отправки запросов, а также для обработки ответов от сервера.

Установка всех этих зависимостей позволяет использовать Apollo в Angular приложении и облегчает работу с GraphQL-запросами и мутациями. Каждая зависимость выполняет определенную роль в функциональности Apollo и обеспечивает ее правильную работу.

Это нормальное явление в мире разработки программного обеспечения. Каждый инструмент имеет свои зависимости, которые нужно установить, чтобы использовать его полный функционал. В данном случае, установка этих зависимостей позволяет использовать Apollo в Angular приложении и работать с GraphQL данными более удобным и эффективным способом.