Console.log pour stdout sur les événements de gulp

Je souhaite vous connecter à stdout (l'environnement de configuration) lorsqu'une tâche de gulp est en cours d'exécution ou a été exécutée.

Quelque chose comme ça:

gulp.task('scripts', function () { var enviroment = argv.env || 'development'; var config = gulp.src('config/' + enviroment + '.json') .pipe(ngConstant({name: 'app.config'})); var scripts = gulp.src('js/*'); return es.merge(config, scripts) .pipe(concat('app.js')) .pipe(gulp.dest('app/dist')) .on('success', function() { console.log('Configured environment: ' + environment); }); }); 

Je ne suis pas sûr de l'événement auquel je devais répondre ou de trouver une liste de ceux-ci. Des astuces? Merci beaucoup.

Gulp gulp-util de gulp-util fournit une journalisation et a été construit par l'équipe Gulp.

 var gutil = require('gulp-util'); gutil.log('Hello world!'); 

Pour ajouter la journalisation, la documentation API de Gulp nous dit que .src retourne:

Renvoie un flux de fichiers Vinyl qui peuvent être acheminés vers des plugins.

La documentation de Node.js Stream fournit une liste d'événements. Ensemble, voici un exemple:

 gulp.task('default', function() { return gulp.src('main.scss') .pipe(sass({ style: 'expanded' })) .on('end', function(){ gutil.log('Almost there...'); }) .pipe(minifycss()) .on('end', function(){ gutil.log('Done!'); }); }); 

Remarque: L'événement end peut être appelé avant que le plugin ne soit terminé (et a envoyé toute sa propre sortie), car l'événement est appelé lorsque "toutes les données ont été rinées sur le système sous-jacent".

Pour construire sur la réponse de Jacob Budin , j'ai récemment essayé cela et l'ai trouvé utile.

 var gulp = require("gulp"); var util = require("gulp-util"); var changed = require("gulp-changed"); gulp.task("copyIfChanged", function() { var nSrc=0, nDes=0, dest="build/js"; gulp.src("app/**/*.js") .on("data", function() { nSrc+=1;}) .pipe(changed(dest)) //filter out src files not newer than dest .pipe(gulp.dest(dest)) .on("data", function() { nDes+=1;}) .on("finish", function() { util.log("Results for app/**/*.js"); util.log("# src files: ", nSrc); util.log("# dest files:", nDes); }); }