|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- # lazy-cache [](https://www.npmjs.com/package/lazy-cache) [](https://npmjs.org/package/lazy-cache) [](https://travis-ci.org/jonschlinkert/lazy-cache)
-
- > Cache requires to be lazy-loaded when needed.
-
- ## Install
-
- Install with [npm](https://www.npmjs.com/):
-
- ```sh
- $ npm install lazy-cache --save
- ```
-
- If you use webpack and are experiencing issues, try using [unlazy-loader](https://github.com/doowb/unlazy-loader), a webpack loader that fixes the bug that prevents webpack from working with native javascript getters.
-
- ## Usage
-
- ```js
- var utils = require('lazy-cache')(require);
- ```
-
- **Use as a property on `lazy`**
-
- The module is also added as a property to the `lazy` function
- so it can be called without having to call a function first.
-
- ```js
- var utils = require('lazy-cache')(require);
-
- // `npm install glob`
- utils('glob');
-
- // glob sync
- console.log(utils.glob.sync('*.js'));
-
- // glob async
- utils.glob('*.js', function (err, files) {
- console.log(files);
- });
- ```
-
- **Use as a function**
-
- ```js
- var utils = require('lazy-cache')(require);
- var glob = utils('glob');
-
- // `glob` is a now a function that may be called when needed
- glob().sync('foo/*.js');
- ```
-
- ## Aliases
-
- An alias may be passed as the second argument if you don't want to use the automatically camel-cased variable name.
-
- **Example**
-
- ```js
- var utils = require('lazy-cache')(require);
-
- // alias `ansi-yellow` as `yellow`
- utils('ansi-yellow', 'yellow');
- console.log(utils.yellow('foo'));
- ```
-
- ## Browserify usage
-
- **Example**
-
- ```js
- var utils = require('lazy-cache')(require);
- // temporarily re-assign `require` to trick browserify
- var fn = require;
- require = utils;
- // list module dependencies (here, `require` is actually `lazy-cache`)
- require('glob');
- require = fn; // restore the native `require` function
-
- /**
- * Now you can use glob with the `utils.glob` variable
- */
-
- // sync
- console.log(utils.glob.sync('*.js'));
-
- // async
- utils.glob('*.js', function (err, files) {
- console.log(files.join('\n'));
- });
- ```
-
- ## Kill switch
-
- In certain rare edge cases it may be necessary to unlazy all lazy-cached dependencies (5 reported cases after ~30 million downloads).
-
- To force lazy-cache to immediately invoke all dependencies, do:
-
- ```js
- process.env.UNLAZY = true;
- ```
-
- ## Related projects
-
- You might also be interested in these projects:
-
- [lint-deps](https://www.npmjs.com/package/lint-deps): CLI tool that tells you when dependencies are missing from package.json and offers you a… [more](https://www.npmjs.com/package/lint-deps) | [homepage](https://github.com/jonschlinkert/lint-deps)
-
- ## Contributing
-
- Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/lazy-cache/issues/new).
-
- ## Building docs
-
- Generate readme and API documentation with [verb](https://github.com/verbose/verb):
-
- ```sh
- $ npm install verb && npm run docs
- ```
-
- Or, if [verb](https://github.com/verbose/verb) is installed globally:
-
- ```sh
- $ verb
- ```
-
- ## Running tests
-
- Install dev dependencies:
-
- ```sh
- $ npm install -d && npm test
- ```
-
- ## Author
-
- **Jon Schlinkert**
-
- * [github/jonschlinkert](https://github.com/jonschlinkert)
- * [twitter/jonschlinkert](http://twitter.com/jonschlinkert)
-
- ## License
-
- Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert).
- Released under the [MIT license](https://github.com/jonschlinkert/lazy-cache/blob/master/LICENSE).
-
- ***
-
- _This file was generated by [verb](https://github.com/verbose/verb), v0.9.0, on April 22, 2016._
|