我对gulp相对较新,我想知道.pipe()
在gulp任务中究竟做了什么?我已经收集到它通常在return
之后和.src
之后运行,但它必须比它更多。我一直无法在网上或gulp的文档中找到任何内容,我真的想了解我正在使用的内容。
EDIT 我找到了this,但它在解释它方面做得很差
答案 0 :(得分:27)
来自Node docs:
https://nodejs.org/api/stream.html#stream_readable_pipe_destination_options
readable.pipe()方法将可写流附加到可读的流,使其自动切换到流动模式,并将其所有数据推送到附加的Writable。将自动管理数据流,以便目标可写流不会被更快的可读流淹没。
因此,在Gulp中,您可以使用pipe()
方法将多个任务链接在一起。 Gulp利用溪流。有可读和可写的流。以下面的代码段为例:
gulp.src(config.jsSrc)
.pipe(uglify())
.pipe(gulp.dest(config.dest + '/js'))
.pipe(size());
gulp.src(...)
将config.jsSrc
处的路径转换为可读的数据流,然后我们将这些数据传输到gulp-uglify
模块。 uglify任务返回一个流,然后我们将其传送到目的地,依此类推......