跳至主内容

@babel/plugin-transform-regenerator

非官方测试版翻译

本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →

信息

此插件已包含在 @babel/preset-env

示例

输入

JavaScript
function* a() {
yield 1;
}

输出

JavaScript
var _marked = [a].map(regeneratorRuntime.mark);

function a() {
return regeneratorRuntime.wrap(
function a$(_context) {
while (1) {
switch ((_context.prev = _context.next)) {
case 0:
_context.next = 2;
return 1;

case 2:
case "end":
return _context.stop();
}
}
},
_marked[0],
this
);
}

安装

npm install --save-dev @babel/plugin-transform-regenerator

用法

通过配置文件(推荐)

无配置选项时:

babel.config.json
{
"plugins": ["@babel/plugin-transform-regenerator"]
}

使用配置选项时:

namedefault value
asyncGeneratorstrue
generatorstrue
asynctrue
babel.config.json
{
"plugins": [
[
"@babel/plugin-transform-regenerator",
{
"asyncGenerators": false,
"generators": false,
"async": false
}
]
]
}

通过命令行

Shell
babel --plugins @babel/plugin-transform-regenerator script.js

通过 Node API

JavaScript
require("@babel/core").transformSync("code", {
plugins: ["@babel/plugin-transform-regenerator"],
});