2016-07-15 18 views
22

Jestem stosunkowo nowy, by łykać, i zastanawiałem się, co dokładnie robi .pipe() w zadaniu gulp? Zauważyłem, że zwykle działa po return i po .src, ale musi być w tym więcej. Nie udało mi się znaleźć niczego w Internecie ani w dokumentacji Gulpa i naprawdę chcę zrozumieć, czego używam.Co dokładnie oznacza .pipe() w łyku?

EDIT znalazłem this, ale ma słabą pracę wyjaśniając

+0

Gulp.js korzysta z potoków do przesyłania strumieniowego danych, które wymagają przetworzenia. Jego składnia do konfigurowania zadań jest dla mnie wyjątkowo prosta. Jeśli nie zrozumiesz koncepcji używania Gulp, to dokument API nie jest do odczytu, to tylko przypomnienie deweloperowi konkretnej metody i sposobu jej użycia. –

+0

Mam obraz, że funkcja Gulp .pipe() jest w rzeczywistości obietnicą. Czy to jest? – Abdillah

Odpowiedz

19

Od docs węzła:

https://nodejs.org/api/stream.html#stream_readable_pipe_destination_options

readable.pipe() metoda

przywiązuje Writable strumień do odczytu, powodując automatyczne przełączenie w tryb przepuszczania i wepchnięcie wszystkich jego danych do załączonego zapisu. Przepływ danych będzie zarządzany automatycznie, tak aby docelowy strumień zapisu nie był przytłoczony szybszym, czytelnym strumieniem.

W Gulp można połączyć wiele zadań jednocześnie przy użyciu metody pipe(). Gulp używa strumieni. Istnieją czytelne i zapisywalne strumienie. Weźmy następujący fragment na przykład:

gulp.src(config.jsSrc) 
    .pipe(uglify()) 
    .pipe(gulp.dest(config.dest + '/js')) 
    .pipe(size()); 

gulp.src(...) zmienia ścieżkę w config.jsSrc w czytelnej strumienia danych, które są następnie instalację rurową do modułu gulp-uglify. Zadanie uglify zwraca strumień, który następnie przesyłamy do miejsca docelowego i tak dalej ...