更多gulp常用插件使用请访问:gulp常用插件汇总


gulp-rev-outdated这是一款旧的静态资产修订文件过滤器。

我们可以使用gulp rev来缓存一些资产。源文件的每次修改都会导致新的修改资产创建。如果使用单独的 http://static.exsample.com/ 域来分发静态资产,我们会遇到大量累积的已修改资产文件的问题。如果我们有几个不同的前端(例如[www-1.exsample.com,www-2.exsample.cpm。。。www-12.exsample com])使用不同的软件版本,我们无法删除static.exsample.com上的所有修订资产文件。我们需要保存最近修改过的资产数量。gulp rev过时的过滤器修改的资产,并排除最近要删除的文件的参数化数量。

更多使用文档请点击访问gulp-rev-outdated工具官网

安装

一键安装不多解释

npm install --save-dev gulp-rev-outdated

使用

接受一个参数[keepQuantity]-最近保存的文件数。默认值==2。

var gulp         = require('gulp');
var gutil = require('gulp-util');
var rimraf = require('rimraf');
var revOutdated = require('gulp-rev-outdated');
var path = require('path');
var through = require('through2'); function cleaner() {
return through.obj(function(file, enc, cb){
rimraf( path.resolve( (file.cwd || process.cwd()), file.path), function (err) {
if (err) {
this.emit('error', new gutil.PluginError('Cleanup old files', err));
}
this.push(file);
cb();
}.bind(this));
});
} gulp.task('clean', function() {
gulp.src( ['dist/js/vendors*.js'], {read: false})
.pipe( revOutdated(1) ) // 保留1个最新的资产文件
.pipe( cleaner() ); gulp.src( ['dist/js/bundle*.js'], {read: false})
.pipe( revOutdated(3) ) // 保留3个最近的资产
.pipe( cleaner() ); gulp.src( ['dist/css/*.css'], {read: false})
.pipe( revOutdated() ) // 保留2个最近的资产(默认值)
.pipe( cleaner() ); return;
});

也可以一次传递所有资产文件:

[...]

gulp.task('clean', function() {
gulp.src( ['dist/**/*.*'], {read: false})
.pipe( revOutdated(1) ) // 为每个文件名前缀保留1个最新的资产文件。
.pipe( cleaner() ); return;
});

gulp.src选项read false阻止gulp读取文件的内容并使此任务快得多。如果在同一流中清洗后需要文件及其内容,请不要将read选项设置为false。

最新文章

  1. 前端学HTTP之web攻击技术
  2. Flexible 弹性盒子模型之CSS flex-grow 属性
  3. OSG3.40 编译时,无法打开输入文件“optimized.lib”
  4. ListView中的setOnScrollListener
  5. 非常棒的Visual Studo调试插件:OzCode
  6. PostgreSQL全文检索zhparser使用
  7. find locate
  8. hdu 3535 AreYouBusy
  9. iframe 刷新
  10. nagios plugins之 check_http
  11. CyanogenMod刷机以及Google Play应用商店安装方法介绍
  12. React初探
  13. mvc中使用jsonp进行跨域请求详细说明
  14. vim note(3)
  15. python web框架篇:views视图函数
  16. 用premake5创建lua532工程
  17. FFmpeg在Linux下安装编译过程
  18. Web前端教程3-JavaScript教程
  19. [GXOI/GZOI2019]与或和
  20. docker容器的常用操作

热门文章

  1. Java中类的关系
  2. 【OpenGL】GL_DEPTH_TEST深度测试问题
  3. GitHub新手教学(从新手安装到初步使用)
  4. redis基础知识汇总
  5. Iperf 网络性能测试
  6. 我不知道的js(一)作用域与闭包
  7. springboot无法访问静态资源
  8. fish 设置环境变量;fish shell 相关使用说明记录;
  9. 简单的试了试async和await处理异步的方式
  10. 如何修改Tomcat运行时jvm编码