webpack-localForage
Webpack friendly https://github.com/mozilla/localForage (Offline storage, improved.)
API
http://mozilla.github.io/localForage/
Changes w.r.t. mozilla/localForage :
- Removed promise module import.
- Removed all moduleType specific code.
- Lazy load localforage drivers using webpack bundle loader.
Installation :
- Download the project or install via bower
bower install webpack-localforage
or npmnpm install webpack-localforage
- Install webpack
npm install webpack
with following loaders- bundle loader
npm install bundle-loader
- imports loader
npm install imports-loader
- exports loader
npm install exports-loader
- bundle loader
- Install es6-promise polyfill (If you are targeting browsers with no es6 promise support).
bower install es6-promise
Configuration :
var path = ;/* Adjust the bower path according to your project structure */var bowerComponentsPath = path;var config =module:test: /[\/]promise\.js$/loaders: 'exports?Promise'test: /[\/]\.js$/loaders: 'imports?this=>window'resolve:alias:localforage: path// A polyfill for ES6-style Promisespromise: path;moduleexports = config;
Usage
If you are targeting browsers with no promise support (http://caniuse.com/#feat=promises), lazy load polyfill.
var es6PromiseSupport ='Promise' in window &&/** Some of these methods are missing from* Firefox/Chrome experimental implementations*/'resolve' in windowPromise &&'reject' in windowPromise &&'all' in windowPromise &&'race' in windowPromise &&{/** Older version of the spec had a resolver object* as the arg rather than a function*/var resolve;{resolve = r;};return typeof resolve === 'function';};if !es6PromiseSupportvar load = ;;else;var {;}