0

我的gulp-rev-all任务有问题。每次我更改代码时,它都会生成一个新的修订文件,但将旧的保留在那里。

这是我的吞咽任务:

var gulp         = require('gulp');
var RevAll       = require('gulp-rev-all');

gulp.task('js', function() {

    var revAll = new RevAll();

    return gulp.src(opt.Src + 'scripts.js')
        // Add a hash to the file
        .pipe(revAll.revision())
        // Save the hashed css file
        .pipe(gulp.dest(path.js))
        // Write the manifest file
        .pipe(revAll.manifestFile())
        .pipe(gulp.dest(path.js + 'rev'));
});

所以,这就像一个魅力。它会给我一个带有 rev 的文件(如:)scripts.0ad8ecf1.js和一个manifest.json文件。挑战在于,每当我更改代码时,它都会生成一个scripts.js具有不同哈希的新文件,而不是覆盖或删除旧文件。所以,我的文件夹现在看起来像这样:

scripts.0ad8ecf1.js
scripts.7e3fa506.js
scripts.056ddda0.js

我似乎无法用新文件替换旧文件。任何人都可以帮助我或为我指出正确的方向来实现这一目标吗?

4

1 回答 1

1

您需要使用另一个插件删除文件,因为 gulp-rev-all 不会为您执行此操作。

例如,您可以使用“del”包(https://www.npmjs.com/package/del

然后创建一个类似这样的“删除任务”:

var del = require('del');

/**
* Deletes all files inside the /foo/scripts/ folder
*/
gulp.task('purge:foo', function() {

    return del.sync(['foo/scripts/**'], function (err, deletedFiles) {
        if (err) {
            console.log(err);
        }
        if (deletedFiles) {
            console.log('Elements deleted:', deletedFiles.join(', '));
        }
    });
});
于 2015-12-07T12:03:03.760 回答