@joebobstevedave/ngx-cache-fs-storage
v8.0.0
Published
Fs storage for ngx-cache (server platform)
Downloads
1
Maintainers
Readme
@ngx-cache/fs-storage
Fs storage for ngx-cache (server platform)
Please support this project by simply putting a Github star. Share this library with friends on Twitter and everywhere else you can.
NOTICE
This 7.x.x branch is intented to work with
Angular v7.x.x
. If you're developing on a later release of Angular thanv7.x.x
, then you should probably choose the appropriate version of this library by visiting the master branch.
Table of contents:
- Prerequisites
- Getting started
- Settings - Setting up
ServerCacheModule
to useFsStorageStaticLoader
- Credits
- License
Prerequisites
This library depends on Angular v6.0.0
. Older versions contain outdated dependencies, might produce errors.
Also, please ensure that you are using Typescript v2.7.2
or higher.
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
- 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 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
)
- path:
:+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 API that runs on node.js
License
The MIT License (MIT)
Copyright (c) 2018 Burak Tasci