Ich möchte mich bei stdout (der Konfigurationsumgebung) anmelden, wenn eine gulp - Task ausgeführt wird oder ausgeführt wird.
Etwas wie das:
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);
});
});
Ich bin nicht sicher, auf welches Ereignis ich reagieren sollte oder wo ich eine Liste davon finden kann. Irgendwelche Hinweise? Danke vielmals.
(Im Dezember 2017 lieferte das Modul gulp-util
die Protokollierung. wurde nicht mehr unterstützt. . Das Gulp-Team empfahl den Entwicklern, diese Funktionalität durch das Modul fancy-log
zu ersetzen. Diese Antwort war aktualisiert, um dies widerzuspiegeln.)
fancy-log
stellt die Protokollierung bereit und wurde ursprünglich vom Gulp-Team erstellt.
var log = require('fancy-log');
log('Hello world!');
Um die Protokollierung hinzuzufügen, Gulps API-Dokumentation teilen Sie uns mit, dass .src
Folgendes zurückgibt:
Gibt einen Stream von Vinyl-Dateien zurück, die an Plugins weitergeleitet werden können.
Die Stream
-Dokumentation von Node.js enthält eine Liste von Ereignissen. Hier ist ein Beispiel:
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!'); });
});
Hinweis: Das Ereignis end
kann aufgerufen werden, bevor das Plugin abgeschlossen ist (und alle seine eigenen Ausgaben gesendet hat), da das Ereignis aufgerufen wird, wenn "alle Daten in das zugrunde liegende System übertragen wurden".
Um auf die Antwort von Jacob Budin aufzubauen, habe ich dies kürzlich ausprobiert und fand es nützlich.
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);
});
}
Leider wird gulp.util
abgeschrieben . Verwenden Sie stattdessen fancy-log
: https://www.npmjs.com/package/fancy-log .