究竟是什么.pipe()意味着什么?

时间:2016-07-15 20:54:28

标签: node.js gulp

我对gulp相对较新,我想知道.pipe()在gulp任务中究竟做了什么?我已经收集到它通常在return之后和.src之后运行,但它必须比它更多。我一直无法在网上或gulp的文档中找到任何内容,我真的想了解我正在使用的内容。

EDIT 我找到了this,但它在解释它方面做得很差

1 个答案:

答案 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任务返回一个流,然后我们将其传送到目的地,依此类推......