学习Gulp过程中遇到的一些单词含义

注:以下有的单词的含义不仅仅在gulp里面是一样的,在其他某些语言里面也是一样


nodejs Doc:https://nodejs.org/api/stream.html

gulp Api:http://www.gulpjs.com.cn/docs/api/

github:https://github.com/gulpjs/gulp


插件网站:


https://www.npmjs.com/browse/keyword/gulpplugin
http://gulpjs.com/plugins/


gulp Api列表

  1. gulp.src(globs[, options])
  2. gulp.dest(path[, options])
  3. gulp.task(name[, deps], fn)
  4. gulp.watch(glob [, opts], tasks) 或 gulp.watch(glob [, opts, cb])

注: 1、2来自Vinyl,3来自Orchestrator

src

source 的缩写,表示源操作数,源文件

dest

destination 的缩写,表示目标操作数,目标文件

globs

golb的复数,globglobal的缩写,作用就是匹配文件

例子: *.txt 是匹配所有以text为扩展名的文件

什么是glob?

github:https://github.com/isaacs/node-glob

在编程设计中,glob是一种模式,它使用通配符来指定文件名。例如:.java就是一个简单的glob
它指定了所有扩展名为java的文件。glob模式中广泛使用了两个通配符 *? 。其中
星号表示任意的字符或字符组成字符串,而问号则表示任意单个字符

glob模式源于Unix操作系统Unix提供了一个global命令,它可以缩写为globglob模式与
正则表达式 类似 ,但它的功能有限。

vinyl-fs

github:https://github.com/gulpjs/vinyl-fs#what-is-vinyl

Vinyl是什么?

Vinyl 是一个非常简单的描述一个为文件的元数据对象

Vinyl对象主要有两个属性:pathcontents

Vinyl Adapter是什么?

虽然Vinyl提供了一个简洁的方式来描述一个文件,现在我们需要一个方法来访问这些文件。
每个文件源需要我所说的Vinyl Adapter来匹配到对应文件使用,一个简单的Vinyl Adapter
暴露了src(globs)dest(folder)的方法。

每个文件返回一个流。源流提供一个Vinyl 对象,目标流使用Vinyl对象。

Vinyl adapters可以公开可能是特定于它们的输入/输出介质的额外方法,比如vinyl-fs提供的symlink方法。

demo

var map = require('map-stream');
var vfs = require('vinyl-fs');

var log = function(file, cb) {
  console.log(file.path);
  cb(null, file);
};

vfs.src(['./js/**/*.js', '!./js/vendor/*.js'])
  .pipe(map(log))
  .pipe(vfs.dest('./output'));

cb

cbcallback的缩写,回调函数

steam

表示文件流,可以想象成水流。

pipe

表示管道,即可以把文件流传到另一个函数

posted @ 2016-09-16 17:04  DHclly  阅读(411)  评论(0编辑  收藏  举报