Gulp-rev用生成的散列替换文件



我开始使用Gulp,我想创建一个任务,用哈希重命名文件(js,css),然后将它们注入html。

我实际上有两个函数做我想要的,但我不知道如何删除旧文件,只保留新的js和css散列文件。

有人能给我点提示吗?这是我现在的代码:

obs: 'config'变量有文件夹位置

gulp.task('prod:rev',['prod:revision'],function() { 
  var manifest = gulp.src(config.prod.manifest);
  return gulp
    .src(config.prod.header)
    .pipe(plugin.revReplace({manifest: manifest}))
    .pipe(gulp.dest('../'));
});
gulp.task('prod:revision',function(){
  var revJs = gulp
   .src(config.scripts.build+'*.js')
   .pipe(plugin.rev())
   .pipe(gulp.dest(config.scripts.build))
   .pipe(plugin.rev.manifest({merge: true}))
   .pipe(gulp.dest(config.prod.path));
  var revCss = gulp
   .src(config.styles.build+'*.css')
   .pipe(plugin.rev())
   .pipe(gulp.dest(config.styles.build))
   .pipe(plugin.rev.manifest({merge: true}))
   .pipe(gulp.dest(config.prod.path));
  return merge(revJs,revCss);

我目前有一个关于类似问题的开放问题-我得到了正确的文件转速,但未能使用gulp-useref将它们注入html(您可以在我关于useref的问题中检查应该工作的方法)。我怀疑我使用的目录有一些不正当的行为,但现在我选择使用不同的缓存破坏方案:

var cb = Math.random();
....
.pipe($.replace('dist/css/lib.css', 'dist/css/lib.css?cb=' + cb))
....

这可能不是你想要的答案,但可能是你需要的答案。:)

根据gulp-rev自述文件。md,听起来您可能还想使用gulp-rev-delete-original来删除未散列的原始文件。

试着在调用。pipe(rev())

const revDelete = require('gulp-rev-delete-original');

.pipe (revDelete ())

这将删除' unashed '文件

相关内容

  • 没有找到相关文章

最新更新