W moim pliku gulp.js przesyłam strumieniowo wszystkie pliki HTML z examples
folderu do build
folderu.
Tworzenie zadania łyka nie jest trudne:
var gulp = require('gulp');
gulp.task('examples', function() {
return gulp.src('./examples/*.html')
.pipe(gulp.dest('./build'));
});
Ale nie mogę dowiedzieć się, jak odzyskać nazwy plików znalezione (i przetworzone) w zadaniu lub nie mogę znaleźć odpowiedniej wtyczki.
Odpowiedzi:
Nie jestem pewien, jak chcesz używać nazw plików, ale jedna z nich powinna pomóc:
Jeśli chcesz tylko zobaczyć nazwy, możesz użyć czegoś takiego jak
gulp-debug
, który zawiera szczegóły pliku winylowego. Wstaw to w dowolnym miejscu listy, na przykład:Inną opcją jest
gulp-filelog
, której nie używałem, ale brzmi podobnie (może być trochę czystsza).Inną opcją jest
gulp-filesize
, która wyświetla zarówno plik, jak i jego rozmiar.Jeśli chcesz mieć większą kontrolę, możesz użyć czegoś takiego
gulp-tap
, co pozwala zapewnić własną funkcję i przeglądać pliki w potoku.źródło
gulp-tap
pozwala uzyskać ścieżkę do każdego pliku, więc mogę go użyć do aktualizacji mojej listy w innym pliku HTML.Zauważyłem, że ta wtyczka robi to, czego się spodziewałem: używanie łyka
Prosty przykład użycia: Przeszukuj wszystkie pliki w projekcie z rozszerzeniem .jsx
Wynik:
źródło
Oto inny prosty sposób.
źródło
es.map
wyrzuca błąd:SyntaxError: Unexpected token .
return cb();
tego powinien byćcb(null, file);
. W przeciwnym razie pliki zostaną odfiltrowane i nie przejdą dalej w łańcuchu potoków. Więcej informacji znajduje się w dokumentacji es.map ()Możesz użyć modułu gulp-filenames , aby uzyskać tablicę ścieżek. Możesz nawet pogrupować je według przestrzeni nazw:
źródło
W moim przypadku gulp-ignore był doskonały. Opcjonalnie możesz tam przekazać funkcję:
A zadanie wyglądałoby tak:
źródło
Jeśli chcesz użyć odpowiedzi @OverZealous '( https://stackoverflow.com/a/21806974/1019307 ) w Typescript, musisz
import
zamiastrequire
:(Dodałem też a
title
).źródło
import
zamiastrequire
?