Подтвердить что ты не робот

Что именно означает .pipe() в gulp?

Я относительно новичок в gulp, и мне было интересно, что именно делает .pipe() в задаче gulp? Я понял, что он обычно работает после return и после .src, но для этого должно быть больше. Я не смог найти что-либо в Интернете или в документации gulp, и я действительно хочу понять, что я использую.

ИЗМЕНИТЬ Я нашел этот, но он плохо объясняет это

4b9b3361

Ответ 1

Из Node документов:

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

Метод readable.pipe() присоединяет записываемый поток к читаемому, заставляя его автоматически переключаться в потоковый режим и выталкивать все свои данные в прикрепленный Writable. Поток данных будет автоматически управляться, чтобы поток Writable назначения не был перегружен более быстрым Readable stream.

Итак, в Gulp вы можете объединить несколько задач вместе с помощью метода pipe(). Gulp использует потоки. Есть читаемые и записываемые потоки. Возьмите следующий фрагмент, например:

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

gulp.src(...) превращает путь в config.jsSrc в читаемый поток данных, который мы затем соединяем с модулем gulp-uglify. Задача uglify возвращает поток, который мы затем связываем с нашим пунктом назначения и так далее...