我使用Gulp来转换ES6,但是使用生成器它会出现以下错误:“未捕获的ReferenceError:未定义regeneratorRuntime”。
我发现我需要babel-polyfill,文档建议使用Node / Browserify / Webpack。
如果没有webpack,我不能在Gulp中解决这个问题吗?我没找到怎么样。我安装了babel-plugin-transform-regenerator并在我的gulpfile.js中完成了这个:
gulp.task('scripts', function() {
return gulp.src('src/js/*.js')
.pipe(plumber())
.pipe(babel({
presets: ['es2015', 'stage-3'],
plugins: ["transform-regenerator"]
}))
.pipe(uglify())
.pipe(gulp.dest('src/js/result'))
.pipe(browserSync.stream());
});
但它没有帮助。
答案 0 :(得分:4)
此插件仍需要regeneratorRuntime。您需要安装babel-polyfill并在JS中显式导入它:
npm install --save-dev babel-polyfill
cp node_modules/babel-polyfill/dist/polyfill.min.js ./public/js
<script src="/public/js/polyfill.min.js"></script>