Blame view

node_modules/regenerator/README.md 2.28 KB
ce4c83ff   wxy   初始提交
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
  regenerator [![Build Status](https://travis-ci.org/facebook/regenerator.svg?branch=master)](https://travis-ci.org/facebook/regenerator)
  ===
  
  This package implements a fully-functional source transformation that
  takes the syntax for generators/`yield` from [ECMAScript 2015 or ES2015](http://www.ecma-international.org/ecma-262/6.0/) and [Asynchronous Iteration](https://github.com/tc39/proposal-async-iteration) proposal and
  spits out efficient JS-of-today (ES5) that behaves the same way.
  
  A small runtime library (less than 1KB compressed) is required to provide the
  `wrapGenerator` function. You can install it either as a CommonJS module
  or as a standalone .js file, whichever you prefer.
  
  Installation
  ---
  
  From npm:
  ```sh
  npm install -g regenerator
  ```
  
  From GitHub:
  ```sh
  cd path/to/node_modules
  git clone git://github.com/facebook/regenerator.git
  cd regenerator
  npm install .
  npm test
  ```
  
  Usage
  ---
  
  You have several options for using this module.
  
  Simplest usage:
  ```sh
  regenerator es6.js > es5.js # Just the transform.
  regenerator --include-runtime es6.js > es5.js # Add the runtime too.
  regenerator src lib # Transform every .js file in src and output to lib.
  ```
  
  Programmatic usage:
  ```js
  var es5Source = require("regenerator").compile(es6Source).code;
  var es5SourceWithRuntime = require("regenerator").compile(es6Source, {
    includeRuntime: true
  }).code;
  ```
  
  AST transformation:
  ```js
  var recast = require("recast");
  var ast = recast.parse(es6Source);
  ast = require("regenerator").transform(ast);
  var es5Source = recast.print(ast);
  ```
  
  How can you get involved?
  ---
  
  The easiest way to get involved is to look for buggy examples using [the
  sandbox](http://facebook.github.io/regenerator/), and when you find
  something strange just click the "report a bug" link (the new issue form
  will be populated automatically with the problematic code).
  
  Alternatively, you can
  [fork](https://github.com/facebook/regenerator/fork) the repository,
  create some failing tests cases in [test/tests.es6.js](test/tests.es6.js),
  and send pull requests for me to fix.
  
  If you're feeling especially brave, you are more than welcome to dive into
  the transformer code and fix the bug(s) yourself, but I must warn you that
  the code could really benefit from [better implementation
  comments](https://github.com/facebook/regenerator/issues/7).