Blame view

node_modules/lazy-cache/README.md 3.63 KB
aaac7fed   liuqimichale   add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
  # lazy-cache [![NPM version](https://img.shields.io/npm/v/lazy-cache.svg?style=flat)](https://www.npmjs.com/package/lazy-cache) [![NPM downloads](https://img.shields.io/npm/dm/lazy-cache.svg?style=flat)](https://npmjs.org/package/lazy-cache) [![Build Status](https://img.shields.io/travis/jonschlinkert/lazy-cache.svg?style=flat)](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._