4

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


两仪
9.6k 声望729 粉丝

向上努力、不卑不亢、两仪相生


引用和评论

0 条评论