I need all the found images in each of the directories to be optimized and recorded into them without setting the path to the each folder separately. I don't understand how to make that.
var gulp = require('gulp'); var imageminJpegtran = require('imagemin-jpegtran');  gulp.task('optimizeJpg', function () {  return gulp.src('./images/**/**/*.jpg')     .pipe(imageminJpegtran({ progressive: true })())     .pipe(gulp.dest('./')); }); dest() Creates a stream for writing Vinyl objects to the file system.
Gulp plugins are Node Transform Streams that encapsulate common behavior to transform files in a pipeline - often placed between src() and dest() using the . pipe() method. They can change the filename, metadata, or contents of every file that passes through the stream.
var copy = require('gulp-copy'); gulp. task('copy-resources', function() { return gulp. src('./src/img/*. png') .
I use the del package to delete a folder: gulp. task('clean', function(){ return del('dist/**/*', {force:true}); });
Here are two answers.
First: It is longer, less flexible and needs additional modules, but it works 20% faster and gives you logs for every folder.
var merge = require('merge-stream');  var folders = [     "./pictures/news/",     "./pictures/product/original/",     "./pictures/product/big/",     "./pictures/product/middle/",     "./pictures/product/xsmall/",     ... ];  gulp.task('optimizeImgs', function () {      var tasks = folders.map(function (element) {          return gulp.src(element + '*')             .pipe(sometingToDo())             .pipe(gulp.dest(element));      });      return merge(tasks);  }); Second solution: It's flexible and elegant, but slower. I prefer it.
return gulp.src('./pictures/**/*')     .pipe(somethingToDo())     .pipe(gulp.dest(function (file) {         return file.base;     })); If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With