Использование Gulp Since или ‘vinyl-filter-since’

#gulp #gulp-imagemin

#gulp #gulp-imagemin

Вопрос:

Я пытаюсь создать простой оптимизатор изображений, который срабатывает только на изображениях, добавленных «since» 7 дней назад. Цель состоит в том, чтобы запускать его на веб-сервере каждые выходные для оптимизации изображений, добавляемых в течение недели.

Итак, пока я понял это:

 var gulp = require('gulp');
var imagemin = require('gulp-imagemin');

gulp.task('default', function () {
    return gulp.src('images/**/*.{jpeg,jpg,png,gif}', {base: './'})
        .pipe(imagemin([
        imagemin.jpegtran({progressive: true})
        ], {
            verbose: true
        }))
        .pipe(gulp.dest('./'));
});
  

Этот скрипт теперь выполняется для всех изображений в папке «images». Я пытался использовать опцию «since» в gulp.src, но безуспешно. Есть ли у кого-нибудь какие-либо советы?

Спасибо!

Ответ №1:

Вы не показываете, как вы пробовали этот since вариант, поэтому мы не можем вам помочь. Следующее не проверено, но что-то вроде этого:

 const today = Date.now();
const sevenDays = 604800000;  // in milliseconds

gulp.task('default', function () {
  return gulp.src('images/**/*.{jpeg,jpg,png,gif}', {base: './', since: (today - sevenDays)})
  

Получите сегодняшнюю дату, вычтите из нее 7 дней (604800000 миллисекунд) и используйте это как свое since: значение

Комментарии:

1. Отлично, рад, что смог помочь.