当我在angularjs中使用ES6语法时,为什么gulp-uglify不起作用

时间:2018-04-30 04:40:41

标签: javascript angularjs ecmascript-6 gulp

我试图将所有AngularJS文件缩小为使用gulp-uglify进行压缩。但问题是我在我的项目中使用了ES6语法,尤其是arrow function

当我按照以下方式缩小js文件时:

gulp.task('minify-scripts', function() {
  return gulp.src(jsFiles)
    .pipe(concat('scripts.js'))
    .pipe(gulp.dest(jsDest))
    .pipe(rename('scripts.min.js'))
    .pipe(uglify())
    .pipe(gulp.dest(jsDest));
});

用于遵循ES6代码:

 apiService.fetchAccessToken($scope.body).then((response) => {

遇到以下错误:

  

events.js:160         扔掉//未处理的错误'事件

但是当我将ES6代码转换为传统代码时:

 apiService.fetchAccessToken($scope.body).then(function(response) {

一切都很好。请让我知道在 gulp 中配置内容以缩小es6代码时我错过了哪些内容?

1 个答案:

答案 0 :(得分:0)

根据gulp-uglify的github README,你应该使用uglify-es来支持ES6。

  

//可以是git checkout //或其他模块(例如uglify-es用于ES6支持)