Fs storage for ngx-cache (server platform)

Note: You should have already installed @ngx-cache/core and @ngx-cache/platform-server.
Adding
Add
The following examples show the use of an exported function (instead of an inline function) for AoT compilation. Setting up
Copyright (c) 2019 Burak Tasci
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 configurationGetting 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
- Repeat the
app.module configuration
steps at @ngx-cache/platform-server. - Import
FsStorageStaticLoader
using the mapping'@ngx-cache/fs-storage'
, and proceed to settings.
Settings
You can call the forRoot static method usingFsStorageStaticLoader
. 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
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
- node-localstorage: A drop-in substitute for the browser native localStorage
License
The MIT License (MIT)Copyright (c) 2019 Burak Tasci