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(', '));
}
});
});