web-dev-qa-db-fra.com

Que signifie exactement .pipe () dans gulp?

Je suis relativement nouveau à avaler, et je me demandais ce que fait exactement la .pipe() dans une tâche d'abat? J'ai compris qu'il fonctionne généralement après un return et après .src, mais il doit y avoir plus que cela. Je n'ai rien trouvé sur le Web ni dans la documentation de gulp et je veux vraiment comprendre ce que j'utilise.

EDIT j'ai trouvé this , mais ça explique mal

36
Arlo

De la Node docs:

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

La méthode readable.pipe () attache un flux enregistrable au lisible, ce qui le fait basculer automatiquement en mode fluide et en transmettant toutes ses données à l'enregistrable attaché. Le flux de données sera automatiquement géré de sorte que le flux enregistrable de destination ne soit pas submergé par un flux en lecture plus rapide.

Donc, dans Gulp, vous pouvez chaîner plusieurs tâches ensemble en utilisant la méthode pipe(). Gulp utilise les flux. Il existe des flux lisibles et inscriptibles. Prenez l'extrait suivant par exemple:

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

gulp.src(...) transforme le chemin situé à config.jsSrc en un flux de données lisible que nous transmettons ensuite au module gulp-uglify. La tâche uglify renvoie un flux que nous dirigeons ensuite vers notre destination, etc.

32
pizza-r0b