Anthony HERVÉ

Ingénieur édudes et développement

Comment faire pour que Gulp watch ne crashe pas ?

12/12/2016
Image actualité

Depuis peu, je me suis essayé à Gulp et j'ai tout de suite adopté l'outil. Avec celui-ci, on peut faire vraiment beaucoup de choses et notamment effectuer un gulp watch des fichiers statiques afin de les recompiler dès qu'ils sont modifiés.

Parfait me suis-je dit, mais bizarrement, quand je modifie mes fichiers Sass *.scss, ma commande gulp watch "crashe", car la compilation Sass à rencontrer un problème.

 

Comment faire dans ce cas pour éviter de stopper le watch dès qu'il y a une erreur de compilation ?

 

Rien de plus simple avec le plugin gulp-plumber. Merci à Cameron Spear pour son aide !

 

Une fois installé, rien de plus simple pour catcher les erreurs. Voici un petit exemple qui finira cet article :

 

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

var rename = require('gulp-rename');
var sass = require('gulp-sass');

gulp.task('sass', function () {
    gulp.src('./src/FrontendBundle/Resources/public/sass/main.scss')
        .pipe(plumber({errorHandler: onError}))
        .pipe(sass({errLogToConsole: true}))
        .pipe(rename('main.css'))
        .pipe(gulp.dest('./web/css/'));
});

var onError = function (err) {
    console.log(err);
};

 

NB : il faut bien penser à mettre la ligne avec plumber avant la fonction qui génère des erreurs. Dans mon cas, il s'agit de la fonction sass.

Commentaires