更多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。

gulp常用插件之gulp-rev-outdated使用的更多相关文章

  1. 精通gulp常用插件

    本文主要展示的是gulp常用插件的使用方法和用途,通过对插件的熟练运用达到精通gulp.不定期更新.可以到github上面下载DEMO. github地址:lin-xin/gulp-plugins 匹 ...

  2. gulp常用插件之gulp-rev-format使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 gulp-rev-format这是一款提供静态资产的哈希格式选项(前缀,后缀,最后扩展名). 更多使用文档请点击访问gulp-rev-format ...

  3. gulp常用插件之rev-del使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 rev-del这是一款从模块(如gulp-rev)生成的修订清单中删除旧的.未使用的指纹文件. 更多使用文档请点击访问rev-del工具官网. 安 ...

  4. gulp常用插件之gulp-rev-delete-origina使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 gulp-rev-delete-origina这是一款删除由gulp-rev或 gulp-rev-all重写的原始文件 . 更多使用文档请点击访问 ...

  5. gulp常用插件之gulp-rev-css-url使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 gulp-rev-css-url这是一款用于在gulp-rev之后覆盖js.css文件中的URL进行替换. 更多使用文档请点击访问gulp-rev ...

  6. gulp常用插件之gulp-rev-rewrite使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 gulp-rev-rewrite这是一款重写对由gulp-rev修订的资产的引用. 更多使用文档请点击访问gulp-rev-rewrite工具官网 ...

  7. gulp常用插件之gulp-rev-collector使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 gulp-rev-collector这是一款根据gulp-rev生成的manifest.json文件中的映射, 去替换文件名称, 也可以替换路径. ...

  8. gulp常用插件之gulp-rev使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 gulp-rev这是一款为静态文件随机添加一串hash值, 解决cdn缓存问题, a.css --> a-d2f3f35d3.css.根据静 ...

  9. node和gulp实现前端工程自动化(附:gulp常用插件)

    /** * 1. LESS编译 压缩 合并 * 2. JS合并 压缩 混淆 * 3. img复制 * 4. html压缩 */ // 在gulpfile中先载入gulp包,因为这个包提供了一些APIv ...

随机推荐

  1. mysql和 oracle 的区别

    垂直拆分: 把一个数据库中不同业务单元的数据分到不同的数据库里面.水平拆分: 根据一定的规则把同一业务单元的数据拆分到多个数据库中. 读写分离 主:写 从:查 ==================== ...

  2. 【译文连载】 理解Istio服务网格(第三章 流控)

    第3章 流控.............................................................................................. ...

  3. JMeter之If Controller深究二

    1.背景 接上文JMeter之If Controller深究一,在上文中提到压测采用的是JMeter3.1版本,本篇继续深究.基本确定问题原因后,宝路这边又做了不同版本的JMeter对比实验,这次加入 ...

  4. php 上传文件 示例

    <?php header("content-type:text/html;charset=utf-8"); error_reporting(E_ALL); //session ...

  5. 十篇笔记走向Python测试开发之路四(字典)

    字典 字典(dict)是Python的一种内置的数据结构.在其他语言中也称为map,使用键-值(key-value)存储,可以通过查找某个特定的词语(键 key),从而找到他的定义(值 value) ...

  6. vuex知识笔记,及与localStorage和sessionStorage的区别

    菜单快捷导航 Vuex是什么东东,有什么应用场景?localStorage和sessionStorage能否替代它? Vuex知识点State.Getter.Mutaion.Action Vuex模块 ...

  7. docker安装db2数据库

    查询可安装的db2镜像 # docker search db2 [root@docker-servers ~]# docker search db2 INDEX NAME DESCRIPTION ST ...

  8. 优雅的C#

    @符号:字符串中的转义符不转义,可支持字符串换行,例如:string test = "hello\\",正常输出hello\,改成string test = @"hell ...

  9. Microsoft.EntityFrameworkCore.Tools 相关命令

    一.前言 Entity Framework(后面简称EF)作为微软家的ORM,自然而然从.NET Framework延续到了.NET Core. 二.程序包管理器控制台 为了能够在控制台中使用命令行来 ...

  10. html基本介绍,了解html与css,html语法和结构

    一般来说,制作自己第一个网页通常书写的文字是"hello world!你好,全世界",代码如下展示: <!DOCTYPE html> <html lang=&qu ...