zoukankan      html  css  js  c++  java
  • gulp常用插件之rev-del使用

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


    rev-del这是一款从模块(如gulp-rev)生成的修订清单中删除旧的、未使用的指纹文件。

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

    安装

    一键安装不多解释

    npm install --save-dev rev-del
    

    使用

    revDel({
    	oldManifest: 'rev-manifest.json',
    	newManifest: { /* 清单 */ },
    	suppress: true, 
    	deleteMapExtensions: false
    }, function (err, filesDeleted) {
    	// ...
    });
    

    清单可以是对象或文件路径。oldManifest默认为“rev manifest.json”(这是gulp-rev的默认输出),而newManifest没有默认值;它假定您已经将其存储在内存中,因此将其作为对象传递更有效。

    如果设置为false,则在ReVestPrime.JSON不存在时会引发错误。通常情况下,您不想更改:通常,第一次运行修订脚本时,清单还不存在。

    当设置为true时,deleteMapExtensions将尝试查找gulp-sourcemaps生成的属于旧清单中已更改文件的任何“.map”文件,并将其删除。

    rev-del可以与Gulpgulp-rev一起使用。您需要dest 在选项或base清单选项中指定-除非您将所有内容都写入根目录。

    var gulp = require('gulp');
    var rev = require('gulp-rev');
    var revDel = require('rev-del');
    
    gulp.task('default', function () {
        return gulp.src('src/*.css')
            .pipe(rev())
            .pipe(gulp.dest('dist'))
            .pipe(rev.manifest())
            .pipe(revDel({ dest: 'dist' }))           // <--
            .pipe(gulp.dest('dist'));
    });
    

    如果不使用默认值,则可以为它传递旧清单的名称:

    var gulp = require('gulp');
    var rev = require('gulp-rev');
    var revDel = require('rev-del');
    
    gulp.task('default', function () {
        return gulp.src('src/*.css')
            .pipe(rev())
            .pipe(gulp.dest('dist'))
            .pipe(rev.manifest('my-manifest.json'))
            .pipe(revDel('some-other-manifest.json'))        // <--
            .pipe(gulp.dest('dist'));
    });
     
    

    请注意,如果清单的名称与给定的路径不同,则仅需要更改清单的名称rev.manifest():如果仅更改清单的名称,则rev-del会很好地处理它:

    // This works
    var gulp = require('gulp');
    var rev = require('gulp-rev');
    var revDel = require('rev-del');
    
    gulp.task('default', function () {
        return gulp.src('src/*.css')
            .pipe(rev())
            .pipe(gulp.dest('dist'))
            .pipe(rev.manifest('my-manifest.json'))
            .pipe(revDel({ dest: 'dist' }))                          // <--
            .pipe(gulp.dest('dist'));
    });
     
    

    您也可以将指定base为选项之一。同样,如果您已将其交给,则无需执行此操作rev.manifest()

    您也可以添加force: true作为选项。这将传递给底层的del插件,该插件接受它以允许在当前工作目录之外进行删除。当您遇到诸如“无法删除当前工作目录之外的文件/文件夹”之类的错误时,这很有用。可以使用该force选项覆盖。”

  • 相关阅读:
    POJ 2486
    奇怪的电梯
    穿越泥地(mud)
    救援行动(save)
    As Fast As Possible
    Connecting Universities
    They Are Everywhere
    Cells Not Under Attack
    吃饭
    花店橱窗(flower)
  • 原文地址:https://www.cnblogs.com/jiaoshou/p/12182131.html
Copyright © 2011-2022 走看看