如何在 gulp 中使用 uglify-es?

How to use uglify-es with gulp?

我正在使用 gulp 来丑化我的文件,它适用于较旧的 Javascript。

已经有一个关于如何丑化 ES6-javascript 文件的问题:

那是因为我的代码不起作用(类 是 ES5 或 smth):

gulp.task('handleJs', () => {
  gulp.src('src/frontend/xy/js/file.js')
    .pipe(uglify());
}

答案似乎不再是最新的,因为 uglify-js-harmony 已被弃用 (https://www.npmjs.com/package/uglify-js-harmony)。

它说,我应该使用 uglify-es(不是 -js),但我没有找到解决方案,如何与 gulp 一起使用?为此,我真正需要哪些 npm-packages 以及代码必须是什么样子?

这在 gulp-uglify 的 README 中有一定程度的记录。为了清楚起见,我稍微修改了那里的示例以匹配您的代码段。

您需要先 npm install pumpgulp-uglifyuglify-es 包(以及您的项目需要的任何其他包. 然后,您可以像下面这样设置您的 gulp 任务:

var uglifyjs = require('uglify-es');
var composer = require('gulp-uglify/composer');
var pump = require('pump');

var minify = composer(uglifyjs, console);

gulp.task('handleJs', function (cb) {
  var options = {};

  pump([
      gulp.src('src/frontend/xy/js/file.js'),
      minify(options),
      gulp.dest('dist')
    ],
    cb
  );
});