如何在不在 dist 文件夹中生成两个文件的情况下使用 Gulp gzip 一个 uglify js

How can I gzip a uglify js with Gulp without generating two file in dist folder

我是新手 Gulp。

我想知道如何使用 Gulp.

从静态网站连接、丑化和压缩所有 js 文件

我有一个这样的任务可行,但我只想在 dist 文件夹中包含 .gz 文件,而不是 combined.js

gulp.task("concat-js", function () {
return gulp.src("./src/js/*.js")
    .pipe(concat("combined.min.js"))
    .pipe(uglify())
    .pipe(gzip())
    .pipe(gulp.dest("./build/js"));
});

更新

我鼓励您阅读评论。在我的例子中,问题是由于 gulp-useref 的错误使用引起的,因为在构建过程结束时生成了文件。可能是菜鸟问题,但希望能帮助到任何人。

提前致谢...

这应该有效。只需将 .min 文件存储在临时文件夹中。如果需要,您可以稍后删除它。

gulp.task("concat-js", function () {
  return gulp.src("./src/js/*.js")
   .pipe(concat("combined.min.js"))

   .pipe(gulp.dest('./temp'))

   .pipe(uglify())
   .pipe(gzip())
   .pipe(gulp.dest("./build/js"));
});

最终文件将是 "combined.min.js.gz" build/js 中唯一的一个。如果你不喜欢那个名字,你可以用 gulp-rename.

重命名它