Я использую gulp-inject и hash-generator для сборки файлов javascript с уникальными именами каждый раз, чтобы избежать проблем с кешированием. Перед созданием я запускаю gulp-clean удалить ранее созданных javascript-файлов. Проблема в том, что каждый раз, когда я запускаю npm build файлы перестраиваются, даже если ничего не изменилось в источнике. Я хотел бы проверить, изменилось ли что-то в исходном файле, прежде чем запускать очистку и вставить. Я думаю, gulp-changed имеет решение, но не уверен, как заставить его работать с хешем и чисткой. Часть моей реализации выглядит так.Создавайте и вставляйте файлы только при изменении в gulp
gulp.task('clean-scripts', function() {
// return del(['./static/js/**/*.js'])
return gulp.src(['./static/js/temp/**/*.js', './static/css/**/style-*.css'], {read: false})
.pipe(clean());
});
gulp.task('index', function() {
var target = gulp.src('./templates/base.html');
// It's not necessary to read the files (will speed up things), we're only after their paths:
var sources = gulp.src(['./static/js/temp/**/*.js', './static/css/'+cssFileName], {read: false}, {relative : true});
return target.pipe(inject(sources))
.pipe(gulp.dest('./templates'));
});