Gulp-rev-all оставляет старый ревизионный файл

У меня проблемы с моим 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'));
});

Итак, это работает как шарм. Это даст мне файл с оборотом (например: scripts.0ad8ecf1.js) и manifest.json файл. Проблема заключается в том, что всякий раз, когда я изменяю свой код, он генерирует новый scripts.js файл с другим хешем и не перезаписывать или удалять старый. Итак, моя папка выглядит следующим образом:

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

Я не могу заменить старый файл новым. Кто-нибудь может мне помочь или указать мне правильное направление для достижения этой цели?

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(', '));
        }
    });
});
Другие вопросы по тегам