Gulp rev都留下了旧的修订文件



我的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

我似乎无法用新文件替换旧文件。有人能帮助我或为我指明实现这一目标的正确方向吗?

你需要用另一个插件删除你的文件,因为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(', '));
        }
    });
});

相关内容

  • 没有找到相关文章

最新更新