2016-07-15 90 views
22

Sono relativamente nuovo per il gulp e mi chiedevo cosa fa esattamente il .pipe() in un inghippo di attività? Ho capito che di solito viene eseguito dopo un return e dopo .src, ma ci deve essere più di quello. Non sono stato in grado di trovare nulla sul Web o nella documentazione di Gulp e voglio davvero capire cosa sto usando.Cosa significa esattamente .pipe() in gulp?

EDIT ho trovato this, ma fa un pessimo lavoro di spiegarla

+0

Gulp.js utilizza pipe per lo streaming di dati che devono essere elaborati. La sua sintassi per l'impostazione dei compiti per me è estremamente semplice. Se non hai compreso il concetto di come usare Gulp, allora il doc dell'API non deve essere letto, è solo per fare riferimento allo sviluppatore per un determinato metodo e per come lo usi. –

+0

Ho un'immagine che la funzione Gulp .pipe() è in realtà una promessa. È? – Abdillah

risposta

19

Dalla documentazione Nodo:

metodo

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

Il readable.pipe() attribuisce un flusso scrivibile al leggibile, facendolo passare automaticamente in modalità scorrevole e spingere tutti i suoi dati al Writable allegato. Il flusso di dati verrà gestito automaticamente in modo tale che il flusso Writable di destinazione non sia sopraffatto da un flusso leggibile più veloce.

Quindi in Gulp è possibile concatenare più attività utilizzando il metodo pipe(). Gulp fa uso di flussi. Ci sono flussi leggibili e scrivibili. Prendere il seguente frammento per esempio:

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

gulp.src(...) trasforma il percorso in config.jsSrc in un flusso leggibile dei dati che siamo poi tubazioni per il modulo gulp-uglify. L'attività uglifice restituisce un flusso che noi poi reindirizziamo alla nostra destinazione e così via ...