In meiner Datei gulp.js streame ich alle HTML-Dateien aus dem examples
Ordner in den build
Ordner.
Die Schluckaufgabe zu erstellen ist nicht schwierig:
var gulp = require('gulp');
gulp.task('examples', function() {
return gulp.src('./examples/*.html')
.pipe(gulp.dest('./build'));
});
Aber ich kann nicht herausfinden, wie die in der Aufgabe gefundenen (und verarbeiteten) Dateinamen abgerufen werden, oder ich kann nicht das richtige Plugin finden.
Antworten:
Ich bin nicht sicher, wie Sie die Dateinamen verwenden möchten, aber einer davon sollte helfen:
Wenn Sie nur die Namen sehen möchten, können Sie so etwas wie verwenden
gulp-debug
, das die Details der Vinyl-Datei auflistet. Fügen Sie dies an einer beliebigen Stelle ein, an der Sie eine Liste erstellen möchten:Eine andere Option ist
gulp-filelog
, die ich nicht verwendet habe, aber ähnlich klingt (es könnte ein bisschen sauberer sein).Eine weitere Option ist
gulp-filesize
die Ausgabe der Datei und ihrer Größe.Wenn Sie mehr Kontrolle wünschen, können Sie so etwas wie verwenden
gulp-tap
, mit dem Sie Ihre eigene Funktion bereitstellen und die Dateien in der Pipe anzeigen können.quelle
gulp-tap
können Sie den Pfad für jede Datei zu bekommen, so dass ich es für die Aktualisierung meiner Liste in einer anderen HTML - Datei verwenden kann.Ich fand, dass dieses Plugin das tut, was ich erwartet hatte: Schlucken
Einfaches Verwendungsbeispiel: Durchsuchen Sie alle Dateien im Projekt mit der Erweiterung .jsx
Ausgabe:
quelle
Hier ist ein anderer einfacher Weg.
quelle
es.map
wirft ein Fehler:SyntaxError: Unexpected token .
return cb();
sollte es seincb(null, file);
. Andernfalls werden die Dateien herausgefiltert und gehen nicht weiter die Rohrkette hinunter. Weitere Informationen überprüfen Sie die Dokumente für es.map ()Sie können das Modul gulp-filenames verwenden , um das Array von Pfaden abzurufen. Sie können sie sogar nach Namespaces gruppieren:
quelle
Für meinen Fall war das Schlucken-Ignorieren perfekt. Optional können Sie dort eine Funktion übergeben:
Und die Aufgabe würde so aussehen:
quelle
Wenn Sie die Antwort von @OverZealous ( https://stackoverflow.com/a/21806974/1019307 ) in Typescript verwenden möchten , müssen Sie
import
anstelle vonrequire
:(Ich habe auch a hinzugefügt
title
).quelle
import
stattrequire
?