是否可以使用Babel转换发电机?

时间:2016-05-31 04:31:28

标签: gulp ecmascript-6 generator babel

我有简单的生成器代码:

function *foo(){}

我有一个看起来像这样的口袋宝贝:

const gulp = require('gulp');
const babel = require('gulp-babel');

gulp.task('default', () => {
    return gulp.src('src/app.js')
        .pipe(babel({
            presets: ['es2015']
        }))
        .pipe(gulp.dest('dist'));
});

当你运行gulp它结束时很好但是当我去html页面我添加我的dist / app.js文件时我在控制台中看到错误:

ReferenceError: regeneratorRuntime is not defined

我已经阅读了它,但它建议添加一个处理生成器的插件,当我这样做时,我有一个错误,需要没有定义...有人可以告诉如何使babel与发电机一起工作顺利吗?

1 个答案:

答案 0 :(得分:3)

您需要在构建

中加入babel-polyfill
  

Babel包含一个包含自定义 regenerator runtime 和core-js的polyfill。

安装 babel-polyfill

$ npm install --save-dev babel-polyfill

请务必将其添加到 src / app.js

// src/app.js
import "babel-polyfill";