Apollo Angular screenshot

Apollo Angular

Author Avatar Theme by Kamilkisiela
Updated: 18 Mar 2025
1511 Stars

A fully-featured, production ready caching GraphQL client for Angular and every GraphQL server

Categories

Overview

The Apollo-Angular package allows developers to easily integrate Apollo Client into their Angular applications. Apollo Client is a comprehensive state management library for handling data in GraphQL applications.

Features

  • Integration with Angular: Seamless integration of Apollo Client with Angular applications.
  • Reactive programming: Utilizes observables for managing data and reactivity throughout the application.
  • GraphQL support: Enables powerful GraphQL capabilities in Angular projects.

Installation

To install the Apollo-Angular package, follow these steps:

  1. Install the package using npm:

    npm install @apollo/client
    npm install @apollo/angular
    
  2. Set up the Apollo Client in your Angular application:

    import { NgModule } from '@angular/core';
    import { APOLLO_OPTIONS } from 'apollo-angular';
    import { InMemoryCache } from '@apollo/client/core';
    import { HttpLink } from 'apollo-angular/http';
    
    @NgModule({
      providers: [
        {
          provide: APOLLO_OPTIONS,
          useFactory: (httpLink: HttpLink) => {
            return {
              cache: new InMemoryCache(),
              link: httpLink.create({
                uri: 'https://api.example.com/graphql',
              }),
            };
          },
          deps: [HttpLink],
        },
      ],
    })
    export class GraphQLModule {}
    
  3. Start using Apollo Client in your Angular components and services.

Summary

The Apollo-Angular package provides a seamless way to integrate Apollo Client with Angular applications, enabling developers to harness the power of GraphQL for efficient state management. By following the installation guide and utilizing the key features such as Angular integration and reactive programming, developers can enhance their Angular projects with GraphQL capabilities.