Skip to main content

Can I use gulp-imagemin with gulp-watch?

Can I use gulp-imagemin plugin with gulp-watch? So, I need to optimize images as soon as they are put into the folder.

Here is a part of my gulpfile.js:

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

gulp.task('default', function() {
  gulp.watch('dist/images/**', function(event) {
    gulp.run('images');
  });
});

// Image files

gulp.task('images', function () {
    return gulp.src('src/images/*')
        .pipe(imagemin({
            progressive: true,
            svgoPlugins: [{removeViewBox: false}],
            use: [pngquant()]
        }))
        .pipe(gulp.dest('dist/images'));
});

Solved

in your watch task, you're watching image changes in 'dist/images/'.. you should change that to **'src/images/*'

Also in your image task, you're watching only for images directly in the images folder (non recursive). I'd recomment to listen to 'src/images/'**

Your new gulpfile will look like:

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

gulp.task('default', function() {
  gulp.watch('src/images/**', function(event) {
    gulp.run('images');
  });
});

// Image files

gulp.task('images', function () {
    return gulp.src('src/images/**')
        .pipe(imagemin({
            progressive: true,
            svgoPlugins: [{removeViewBox: false}],
            use: [pngquant()]
        }))
        .pipe(gulp.dest('dist/images'));
});

Hope that helps ;-)


Comments

Popular posts from this blog

What's the function of a static constructor in a non static class?

I've noticed that a non-static class can have a static constructor: public class Thing { public Thing() { Console.WriteLine("non-static"); } static Thing() { Console.WriteLine("static"); } } And when you initialize an instance of Thing the static constructor gets called first. Output: static non-static What would be the need for this? Do you use it to initialize static fields on your instance of the non-static type? Are there any things to take into consideration when using a static constructor? Solved Do you use it to initialize static fields on your instance of the non-static type? Pretty much, except that static fields (or static members of any kind) aren't associated with instances; they are associated with the type itself, regardless of whether it is a static class or a non-static class. The documentation lists some properties of static constructors, one of which is: ...

How do list command on one ssh command?

I try connect with ssh2 and run script in one line command. /usr/bin/ssh2 --password ${password} -l root ${address} cd ${dir} ; python script.py But directory isn't changed. Why ? I want write with two command. It does only first command (cd) Solved Hello you should use && instead of ; and put command in " example: /usr/bin/ssh2 --password ${password} -l root ${address} "cd ${dir} && python script.py"