gulp.src(globs[, options])
概述
src方法是指定源文件的输入路径,pipe有点像是封闭的“流水线”,某个产品经过上一个工序处理后,就转入下一个工序去处理,直到完成。也就是将上一步的输出转化下一步的输入的中间者。
语法:
gulp.src(globs[, options])
参数:
-
globs
类型:String 或 Array,指定源文件的路径,可以是单个路径,也可以是个路径数组。
路径匹配支持通配符:
1. app.js 指定具体文件
2. js/ 匹配 js 目录下所有的文件,不包括子文件夹
3. js/.js 匹配 js 目录下所有的扩展名为 .js 的文件,不包括子文件夹
4. js//.js 匹配 js 目录下第一层子文件夹里的扩展名为 .js 的文件
5. js/**/*.js 匹配 js 目录下所有文件夹层次下扩展名为 .js 的文件
6. !js/try.js 不包括 try.js 文件,在前五条文件匹配模式前加!,就忽略掉相应的文件 -
options
类型:Object,有3个属性buffer,read,base。
options.butter
类型:Boolean,默认:true
gulp-api 上描述到,如设置为false,返回的文件内容将会以数据流的形式体现,而不是数据
块的形式。还提示到有可能一些插件没有实现支持数据流的形式。
(表示不太明白,有待研究。-_-|||)
options.read
类型:Boolean,默认:true
返回的文件内容为null,不执行读取文件操作。
options.base
类型:String
设置输出路径以某个路径的某个组成部分为基础向后拼接。具体例子可以参考 gulp-api。
gulp.dest(path[, options])
概述
dest方法是指定被处理完的文件的输出路径。
语法:
gulp.dest(path[, options])
参数:
-
path
类型:String 或 Function,指定输出文件的文件夹路径,可以是字符串,也可以是一个返回文件夹路径的函数。 -
options
类型:Object,有2个属性cwd,mode。
options.cwd
类型:String,默认:process.cwd()
设置输出文件夹路径的相对路径,默认为当前脚本的工作目录的路径。
options.mode
类型:String,默认:0777
设置被创建文件夹的权限。
gulp.task(name[, deps], fn)
概述
task方法是gulp用于定义一个具体任务的方法。如果需要执行任务,在终端执行gulp task-name
。
语法:
gulp.task(name[, deps], fn)
参数:
-
name
类型:String, 指任务名,就像上述的eg-1例子的sass。 -
deps
类型:Array,指在跑当前任务时,对其它任务的依赖。也就是要执行当前任务,会先执行这些依赖的任务。如: gulp.task('demo', ['demo1', 'demo2'], function(){ });会先同时执行任务'demo1', 'demo2',最后执行任务'demo'。 -
fn
类型:function,指运行任务时,要执行的具体操作的内容。
gulp.watch(glob [, opts], tasks) or gulp.watch(glob [, opts, cb])
概述
watch方法是用于监听文件变化,文件一修改就会执行指定的任务。
语法:
gulp.watch(glob [, opts], tasks) or gulp.watch(glob [, opts, cb])
参数:
-
glob
类型:String 或 Array,指定源文件的路径,可以是单个路径,也可以是个路径数组。路径匹配和上述gulp.src()方法路径匹配的模式一样。 -
opts
类型:Object,有4个属性interval,debounceDelay,mode,cwd。
具体可以参考gulp-api这里就不一一介绍了。 -
tasks
类型:Array,监听到文件变化后,要被执行的任务的名字组成的数组。 -
cb(event)
类型:Function,监听到变化后,回调的函数。会传递出一个对象类型的event参数。
event.type
类型:String,表示操作的类型:added, changed or deleted
event.path
类型:String,被修改文件的路径。
帮助文档
呵呵,我只是搬运工,感谢下面的文档和翻译:
官网API:https://github.com/gulpjs/gulp/blob/master/docs/API.md
翻译:http://aikin.github.io/2014/10/24/gulp-nodemon-livereload/
拓展阅读
gulp plugins 插件介绍:http://colobu.com/2014/11/17/gulp-plugins-introduction/
如何理解stream:http://blog.csdn.net/kiwi_coder/article/details/36422385
Gulp.js深入讲解(推荐):http://ju.outofmemory.cn/entry/69523
gulp构建进阶:http://www.html-js.com/article/2083
gulp.js - stream 驱动的自动构建工具:http://best33.com/120.moe
Gulp思维——Gulp高级技巧:http://segmentfault.com/blog/skyinlayer/1190000000711469
gulp:入门简介:http://www.cnblogs.com/chyingp/p/gulp-introduction.html
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。