Question

J'utilise le gulp-notifier brancher.Ceci est un exemple de la façon dont je l'implémente dans un gulpfile.js (vous pouvez voir que j'utilise également gutil et livereload.Je ne sais pas s'ils jouent un rôle, mais faites-moi savoir s'ils le font.)

gulp.task('js', function() {
  return gulp.src('./dev/scripts/*.coffee')
    .pipe(coffee({bare: true}).on('error', gutil.log))
    .pipe( gulp.dest('./build/js'))
    .pipe(notify('Coffeescript compile successful'))
    .pipe(livereload(server));
});

Ce plugin fonctionne sous OS X et Linux.Sous Windows, qui n'a pas de fonction de notification, il renvoie une erreur et interrompt le plugin gulp-watch.Voici un exemple de la configuration de gulp-watch :

gulp.task('watch', function () {
  server.listen(35729, function (err) {
    if (err) {
      return console.log(err);
    }
    gulp.watch('./dev/scripts/*.coffee',['js']);
  });
});

J'ai donc lu dans la documentation que le plugin gulp-pipe peut m'aider à ne pas interrompre gulp-watch sous Windows, mais je ne trouve pas d'exemple de la façon dont je pourrais l'utiliser dans une configuration comme celle-ci.

Était-ce utile?

La solution

Vous pouvez utiliser le gulp-if brancher en combinaison avec le os module de nœud pour déterminer si vous êtes sous Windows, puis excluez gulp-notify, ainsi:

var _if = require('gulp-if');

//...

// From http://stackoverflow.com/questions/8683895/variable-to-detect-operating-system-in-node-scripts
var isWindows = /^win/.test(require('os').platform());

//...

     // use like so:
    .pipe(_if(!isWindows, notify('Coffeescript compile successful')))
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top