【问题标题】:Gulp rev-del not removing filesGulp rev-del 不删除文件
【发布时间】:2020-03-16 08:08:53
【问题描述】:

我理解错了还是这里有什么不对?

我有这段代码

gulp.task("minifyScripts", function () {
  return gulp.src("assets/scripts/*.js")
    .pipe(uglify())
    .pipe(rev())
    .pipe(gulp.dest('assets/scripts/min'))
    .pipe(rev.manifest())
    .pipe(revDel())
    .pipe(gulp.dest('assets/scripts'))
    .pipe(livereload())
    .pipe(browserSync.stream());
});

我的理解是,当创建具有新哈希的文件时,这应该删除旧的 .js 文件,但它不是...

你有什么想法吗?非常感谢!

【问题讨论】:

    标签: gulp gulp-rev


    【解决方案1】:

    您需要在选项中指定 dest,或者在清单选项中指定 base — 除非您将所有内容都写入根目录。 试试:

    pipe(revDel({dest: "assets/scripts/min"})

    【讨论】:

      【解决方案2】:

      好像rev-del有很多用户,包括我自己,在gulp-rev散列后无法让插件删除旧的静态文件。

      切换到gulp-rev-delete-original 很容易OOB。

      在 OP 的用例中,更新后的解决方案是:

      const revDel = require("gulp-rev-delete-original")
      
      gulp.task("minifyScripts", function () {
        return gulp.src("assets/scripts/*.js")
          .pipe(uglify())
          .pipe(rev())
          .pipe(revDel()) // call just after rev()
          .pipe(gulp.dest('assets/scripts/min'))
          .pipe(rev.manifest())
          //.pipe(revDel()) ==> move to just after rev()
          .pipe(gulp.dest('assets/scripts'))
          .pipe(livereload())
          .pipe(browserSync.stream());
      });
      

      【讨论】:

        猜你喜欢
        • 2016-03-22
        • 2019-01-17
        • 2017-12-01
        • 1970-01-01
        • 2018-01-24
        • 1970-01-01
        • 1970-01-01
        • 2021-07-03
        • 1970-01-01
        相关资源
        最近更新 更多