gulp.src(globs[, options])
概述
src方法是指定源文件的輸入路徑,pipe有點像是封閉的「流水線」,某個產品通過上一個工序處理後,就轉入下一個工序去處理,直到完成。也就是將上一步的輸出轉化下一步的輸入的中間者。html
語法:
gulp.src(globs[, options])node
參數:
- 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方法是指定被處理完的文件的輸出路徑。git
語法:
gulp.dest(path[, options])github
參數:
- 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
語法:
gulp.task(name[, deps], fn)segmentfault
參數:
- 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方法是用於監聽文件變化,文件一修改就會執行指定的任務。api
語法:
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/sass
拓展閱讀
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.htmlapp