@ngx-cache/fs-storage

Fs storage for ngx-cache (server platform)

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@ngx-cache/fs-storage
9.0.04 years ago7 years agoMinified + gzip package size for @ngx-cache/fs-storage in KB

Readme

@ngx-cache/fs-storage npm version npm downloads
Fs storage for ngx-cache (server platform)
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:

- Installation - Examples - Related packages - Adding @ngx-cache/fs-storage to your project (SystemJS) - app.module configuration

Getting started

Installation

You can install @ngx-cache/fs-storage using npm
npm install @ngx-cache/fs-storage --save

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

Examples

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

Related packages

The following packages may be used in conjunction with @ngx-cache/fs-storage:

Adding @ngx-cache/fs-storage to your project (SystemJS)

Add map for @ngx-cache/fs-storage in your systemjs.config
'@ngx-cache/fs-storage': 'node_modules/@ngx-cache/fs-storage/bundles/fs-storage.umd.min.js'

app.module configuration

Settings

You can call the forRoot static method using FsStorageStaticLoader. By default, it is configured to have the storagePath as './.temp/cache', and storageQuota is set to 5 MB.
You can customize this behavior (and ofc other settings) by supplying storagePath and storageQuota to FsStorageStaticLoader.

The following examples show the use of an exported function (instead of an inline function) for AoT compilation.

Setting up ServerCacheModule to use FsStorageStaticLoader

app.server.module.ts

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

...

export function fsStorageFactory(): FsStorageLoader {
  return new FsStorageStaticLoader({
    path: './.temp/cache',
    quota: 5 * 1024 * 1024
  });
}

@NgModule({
  declarations: [
    AppComponent,
    ...
  ],
  ...
  imports: [
    ...
    ServerStateTransferModule.forRoot(),
    ServerCacheModule.forRoot([
      {
        provide: CACHE,
        useClass: FsCacheService
      },
      {
        provide: STORAGE,
        useClass: FsStorageService
      },
      {
        provide: FsStorageLoader,
        useFactory: (fsStorageFactory)
      }
    ]),
  ],
  ...
  bootstrap: [AppComponent]
})
export class AppServerModule {
}

FsStorageStaticLoader has one parameter:
  • providedSettings: FsStorageSettings : fs storage settings
- path: string : storage path for cache files (by default, './.temp/cache') - quota: number : disk quota for cache files (by default, 5242880)
:+1: Yeah! @ngx-cache/fs-storage will now provide storage settings to @ngx-cache/platform-server.

Credits

API that runs on node.js

License

The MIT License (MIT)
Copyright (c) 2019 Burak Tasci