Comments (6)
According to the universal docs, we need that.
There was an approach in my mind earlier this week, for this cache service. I'll also dig the universal-starter a bit, and I think I'll be able to implement this feature on a separate repository - at the first opportunity.
from universal.
Check the implementation: just updated this repo as well as publishing 4 separate packages for cache operations both on server and browser platforms. Everything is handled via the @Cached(...)
decorator on the method/loader/etc which you want it cached. Also, there's the possibility to use caching methods (has
, get
, set
) using the caching API.
- ngx-cache/core: cache utility
- ngx-cache/platform-browser: browser platform implementation
- ngx-cache/platform-server: server platform implementation
- ngx-cache/fs-storage: fs-storage for server platform
You might ask why to keep the structure so complex and consume 4 different packages? The answer is, not all the use cases depend on caching on the server platform. Furthermore, this structure allows to integrate any kind of custom caching with the server or browser platform (ex: session, api, etc).
Currently there's no documentation available for these packages, because these days I'm kinda overloaded with many different tasks/projects. I think in a week or two I'll try to provide a good documentation as well as unit tests for these packages.
However, try to have a look on this repo - about the use of CacheService
and its instruments. I think it won't be difficult to understand the concepts, as I've kept the code style as DRY as possible.
from universal.
The problem on the server-side, there's no interface which we can store the data (ex: localStorage, window, etc.). Furthermore, on each navigation, the DI is lost at the server-side code. For this reason, in-memory cache was not option too.
Well, I think I've managed both the server-side and client-side caching (transferring the cache using nglibs/universal-transfer-state
):
- using fs to write results of XHR requests on the disk (once for all requests, incl. concurrent ones)
- read cache file from the disk (server-side)
- on
onNgBootstrap
, transfer the cache to client usingtransfer-state
I'll commit the changes soon, but I'm afraid it could take a couple of days. Need huge refactoring, code is more complicated than spaghetti - more like wife's Borsch soup 😄
from universal.
cool, I'll take a look, thanks!
from universal.
Is there any documentation available like how we can use caching with this seed? I am kinda confused if caching is actually working or not.
from universal.
@mohitkadelongraph you can have a look at https://github.com/ngx-cache/core
from universal.
Related Issues (20)
- way to access the meta title HOT 1
- unreachable endpoint HOT 3
- why should we need `electron` in this project HOT 1
- html tags including webpack javascript syntax
- How to disable all the Junits.?
- func expressions not supported in decorators in reducers in aot HOT 1
- no setting found with the specified key HOT 3
- assets path HOT 1
- EEXIST: file already exists | @ngx-cache HOT 5
- how to set facebook og tags HOT 1
- Show html css in between route-app tag HOT 1
- Any ideas to integrate socket.io?
- Migrate LGTM.com installation from OAuth to GitHub App
- Build command project name typo HOT 1
- use sitemap-generator for SSR
- Angular 4 universal ReferenceError: document is not defined HOT 1
- getting issue on yarn start:ssr HOT 2
- Error: You must pass in a NgModule or NgModuleFactory to be bootstrapped
- error Type 'Request' is not generic
- Why do I see network requests at in Chrome broswer?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from universal.