编写插件

如果你打算自己写一个 Gulp 插件,为了节约你的时间,你可以先完整地阅读下这个文档。

它要做什么?

### 流式处理文件对象(Streaming file objects)

gulp 插件总是返回一个 object mode 形式的 stream 来做这些事情:

  1. 接收 vinyl File 对象
  2. 输出 vinyl File 对象

这通常被叫做 transform streams (有时候也叫做 through streams)。transform streams 是可读又可写的,它会对传给它的对象做一些转换的操作。

修改文内容

Vinyl 文件可以通过三种不同形式来访问文件内容:

  • Streams
  • Buffers
  • 空 (null) - 对于删除, 清理, 等操作来说,会很有用,因为这时候内容是不需要处理的。

有用的资源

插件范例

关于 stream

如果你不熟悉 stream,你可以阅读这些来

  • https://github.com/substack/stream-handbook (必读)
  • http://nodejs.org/api/stream.html

其他的一些为 gulp 创建的和使用的,但又并非通过 stream 去处理的库,在 npm 上都会被打上 gulpfriendly 标签。