@ngx-cache/fs-storage
![npm downloads](https://img.shields.io/npm/dm/%40ngx-cache%2Ffs-storage.svg)
Fs storage for ngx-cache (server platform)
![CircleCI](https://circleci.com/gh/fulls1z3/ngx-cache.svg?style=shield)
![coverage](https://codecov.io/github/fulls1z3/ngx-cache/coverage.svg?branch=master)
![tested with jest](https://img.shields.io/badge/tested_with-jest-99424f.svg)
![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)
![Angular Style Guide](https://mgechev.github.io/angular2-style-guide/images/badge.svg)
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
than v7.x.x
, then you should probably choose the appropriate version of this library by visiting the master branch.
Table of contents:
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.
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
- 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