Ich habe eine sehr grundlegende Verwendung von Schluck-foreach, die so schlecht versagt Ich stelle mir vor, ich muss etwas falsch machen; Ich versuche nur (vorläufig) alle Dateien in gulp.src zu drucken. Wenn Sie dies mit gulp-foreach
tun, wird nur eine sehr, sehr kleine Probe der Dateien gedruckt - etwa 15 von vielen hundert. Wenn Sie Schluck-Druck verwenden, funktionieren die Dinge wie erwartet.Schluck-foreach nicht über alle Dateien schleifen
const gulp = require('gulp'),
foreach = require('gulp-foreach'),
gulpPrint = require('gulp-print');
gulp.src([`../../**/*.js`].concat([]))
.pipe(gulpPrint(path => {
console.log(path);
}))
.pipe(foreach((stream, file) => {
console.log(file.path);
return stream;
}))
Der Code mit den foreach
ist etwa 15-mal, verschachtelt mit den allein durch eine Flut von gulpPrint
Anweisungen gefolgt gulpPrint
, ausgelöst. Wenn ich den gulpPrint
Teil kommentiert, foreach
ungefähr 15mal druckt und dann beendet, und gulpPrint
alleine, wie erwartet, überflutet die Konsole mit jeder gefundenen Datei, wie es sollte.
Ich kann einfach gulp-print
verwenden, aber ich würde gerne wissen, was ich falsch mache mit gulp-foreach
.
Große Antwort - danke. Gibt es irgendeinen Grund, dass "gulpPrint" nicht so gut ist wie "gulp-tap"? –
Für Ihren Anwendungsfall: nein, nicht wirklich.'gulp-tap' ist allgemeiner, da es dir die gesamte [' Vinyl'-Datei] (https://github.com/gulpjs/vinyl) gibt, mit der du auf Dateiinhalte usw. zugreifen und sie bearbeiten kannst. Aber wenn du alles willst zu tun ist, Dateipfade zu drucken, 'gulp-print' wird gut funktionieren. –