Je souhaite me connecter à stdout (environnement de configuration) lorsqu'une tâche 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 sais pas à quel événement je devrais réagir ou où trouver une liste de ceux-ci. Des pointeurs? Merci beaucoup.
(En décembre 2017, le module gulp-util
, qui fournissait la consignation, était obsolète . L'équipe Gulp a recommandé aux développeurs de remplacer cette fonctionnalité par le module fancy-log
. Cette réponse a été mise à jour pour refléter cela.)
fancy-log
fournit la journalisation et a été construit à l'origine par l'équipe Gulp.
var log = require('fancy-log');
log('Hello world!');
Pour ajouter la journalisation, Documentation de l'API Gulp dites-nous que .src
renvoie:
Renvoie un flux de fichiers vinyle pouvant être transmis aux plug-ins.
La documentation Stream
de Node.js fournit une liste d'événements. Mis ensemble, voici un exemple:
gulp.task('default', function() {
return gulp.src('main.scss')
.pipe(sass({ style: 'expanded' }))
.on('end', function(){ log('Almost there...'); })
.pipe(minifycss())
.pipe(gulp.dest('.'))
.on('end', function(){ log('Done!'); });
});
Remarque: L'événement end
peut être appelé avant la fin du plug-in (et a envoyé sa propre sortie), car l'événement est appelé lorsque "toutes les données ont été vidées sur le système sous-jacent".
Pour compléter la réponse de Jacob Budin , j’ai récemment essayé et 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);
});
}
Malheureusement, gulp.util
est déprécié . Utilisez fancy-log
à la place: https://www.npmjs.com/package/fancy-log .