#git #gulp
#git #gulp
Вопрос:
Я использую gulp-changed, чтобы избежать запуска задачи, если файлы не изменились.
Изображения в assets / images и в DEST / images сохраняются в репозитории git.
Проблема в том, что когда другие пользователи запускают задачу в первый раз, она восстанавливает все изображения. Изображения, безусловно, немного отличаются, потому что git отмечает тему как измененную.
Как я могу избежать создания оптимизирующих изображений ** для каждого пользователя *, если исходное изображение не изменилось.
Это то, что я использую прямо сейчас
// Optimize image and move them in the DEST folder
gulp.task('images', function () {
return gulp.src(['assets/images/**'])
// Take only files changed since the last time it was run
.pipe(changed(DEST '/images'))
.pipe(imagemin({
pngquant: true,
progressive: true
}))
.pipe(gulp.dest(DEST '/images'))
});
Ответ №1:
Имело бы смысл посмотреть, изменились ли исходные изображения (ресурсы / изображения /), а не проверять версии DEST.
Лично я обнаружил, что gulp-change слишком медленный, и на самом деле их просто быстрее выполнить, чем сначала проверить. Очевидно, зависит от того, когда и где вы это делаете, и сколько у вас изображений.
Комментарии:
1. Вот как работает changed, сравнивая src и dest . См. Документ npmjs.org/package/gulp-changed
2. Да, хороший момент, я думаю, мой мозг работает не очень хорошо! Если изображения были уменьшены по сравнению с оригиналами, не будут ли файлы dest всегда отличаться от файлов src ?!
3. Во-первых, как я понимаю, это изменение имеет другой метод сравнения (хэш, дата)…. но да, для меня тоже размыто. Я постараюсь узнать больше и вернусь сюда, чтобы ответить на этот вопрос!