gulpfile.js
gulp.task('es6', function() {
gulp.src('libs/es6/*.js')
.pipe(babel())
.pipe(gulp.dest('libs/js'))
.pipe(concat('all.js'))
.pipe(gulp.dest('libs/dist'))
.pipe(rename('all.min.js'))
.pipe(uglify())
.pipe(gulp.dest('libs/dist'));
});
.babelrc
{
"presets": ["es2015"]
}
使用 gulp-babel 将 ES6 转换为 ES5,然后得到错误:未捕获的引用错误: 未定义要求。我尝试配置 .babelrc
{
"presets": ["es2015"],
"plugins": ["babel-plugin-transform-es2015-modules-amd"]
}
但仍然收到错误未定义定义。那么如何让ES6转换ES5可以在浏览器中正常呢?
尝试将 .babelrc 文件改回:
{
"presets": ["es2015"]
}
现在将您的 gulpfile .js更改为:
gulp.task('es6', function() {
gulp.src('libs/es6/*.js')
.pipe(babel({
plugins: 'babel-plugin-transform-es2015-modules-amd'
}))
.pipe(gulp.dest('libs/js'))
.pipe(concat('all.js'))
.pipe(gulp.dest('libs/dist'))
.pipe(rename('all.min.js'))
.pipe(uglify())
.pipe(gulp.dest('libs/dist'));
});
我只是遇到了类似的问题,这对我有用。唯一的区别是我的插件称为"transform-es2015-modules-amd"。