Server platform implementation of ngx-cache


147159.0.0a year ago4 years agoMinified + gzip package size for @ngx-cache/platform-server in KB


@ngx-cache/platform-server npm version npm downloads

Server platform implementation of ngx-cache

CircleCI coverage tested with jest Conventional Commits Angular Style Guide

Please support this project by simply putting a Github star. Share this library with friends on Twitter and everywhere else you can.

Table of contents:

Getting started


You can install @ngx-cache/platform-server using npm

npm install @ngx-cache/platform-server --save

Note: You should have already installed @ngx-cache/core.

Note: You should have also installed @ngx-cache/fs-storage (which is currently the only available storage on the server platform).


  • ng-seed/universal is an officially maintained seed project, showcasing common patterns and best practices for @ngx-cache/platform-server.

Related packages

The following packages may be used in conjunction with @ngx-cache/platform-server:

Adding @ngx-cache/platform-server to your project (SystemJS)

Add map for @ngx-cache/platform-server in your systemjs.config

'@ngx-cache/platform-server': 'node_modules/@ngx-cache/platform-server/bundles/platform-server.umd.min.js'

app.module configuration

  • Import ServerCacheModule using the mapping '@ngx-cache/platform-server' and append ServerCacheModule.forRoot({...}) within the imports property of app.server.module (considering the app.server.module is the server module in Angular Universal application).
  • Import CACHE injection token using the mapping '@ngx-cache/core', FsCacheService using the mapping '@ngx-cache/platform-server'.
  • Provide CACHE using FsCacheService, by calling the forRoot static method using the ServerCacheModule.
  • Import STORAGE injection token using the mapping '@ngx-cache/core', FsStorageService using the mapping '@ngx-cache/fs-storage'.
  • Provide STORAGE using FsStorageService, by calling the forRoot static method using the ServerCacheModule.
  • Import FsStorageLoader and fsStorageFactory using the mapping '@ngx-cache/fs-storage'.
  • Provide FsStorageLoader using fsStorageFactory, by calling the forRoot static method using the ServerCacheModule.
  • Pass CacheService together with ApplicationRef and TransferState to the implementation of bootstrapFactory method below.


import { CacheService, CACHE, STORAGE } from '@ngx-cache/core';
import { ServerCacheModule, FsCacheService } from '@ngx-cache/platform-server';
import { fsStorageFactory, FsStorageLoader, FsStorageService } from '@ngx-cache/fs-storage';


export function bootstrapFactory(appRef: ApplicationRef,
                                 transferState: TransferState,
                                 cache: CacheService): () => Subscription {
  return () => appRef.isStable
    .filter(stable => stable)
    .subscribe(() => {
      transferState.set<any>(makeStateKey(cache.key), JSON.stringify(cache.dehydrate()));

  declarations: [
  imports: [
        provide: CACHE,
        useClass: FsCacheService
        provide: STORAGE,
        useClass: FsStorageService
        provide: FsStorageLoader,
        useFactory: (fsStorageFactory)
  providers: [
      useFactory: (bootstrapFactory),
      multi: true,
      deps: [
  bootstrap: [AppComponent]
export class AppServerModule {

:+1: Yeah! @ngx-cache/platform-server will now provide server platform implementation to @ngx-cache/core.



The MIT License (MIT)

Copyright (c) 2019 Burak Tasci

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.