一、gulp介紹及用法
1. 介紹
gulp是一個自動化構建工具,可以幫助開發(fā)者構建整個項目流程中的自動化部分,比如less、sass的編譯,這樣做可以節(jié)省開發(fā)者很多時間,集中精力做業(yè)務上等其他重要的事兒。
2. 基本用法
2.1 gulp可執(zhí)行文件
一般命名為gulpfile.js,作為構建入口文件
2.2 安裝
gulp官中API:點此鏈接
gulp以及gulp插件地址: 點此鏈接,可使用國內鏡像cnpm
npm參數(shù):-g表示全局安裝,--save-dev(或-D)表示安裝到devDependencies(只用于開發(fā)環(huán)境,不會發(fā)布到生產環(huán)境),--save(或-S)表示安裝到dependencies(會發(fā)布到生產環(huán)境)
npm install gulp -g 或 npm install gulp -D
2.3 使用
const gulp = require('gulp');
2.4 五個常用API
常用示例:gulp.src('./**',{base: ''}),可以匹配到base指定路徑并輸出
- gulp.pipe(fn()):pipe會輸出經(jīng)過fn()處理的輸入到pipe的stream。
常用示例:gulp.src('./*/.less').pipe(less()),會把匹配到的less文件編譯為css文件,并輸出stream
- gulp.dest(path[,opts]):會把gulp.src(globs)匹配到的文件經(jīng)過中間一系列stream處理后生成文件到指定path。
常用示例:gulp.src('./*/.less').pipe(less()).pipe(gulp.dest('./dist'))
- gulp.task(name[,deps],callback):自定義任務,name表示任務名,deps表示執(zhí)行回調callback函數(shù)前先執(zhí)行的任務。輸入gulp命令默認執(zhí)行'default'任務,callback可接受返回callback,stream, promise
常用示例:gulp.task('custom',['browersync'],function(){})
- gulp.watch(glob[,opts],tasks),gulp.watch(glob[,opts],callback) 兩種形式:可以監(jiān)控glob匹配到的文件或目錄,根據(jù)變化作出相應事件(added, changed 或者 deleted)響應
常用示例:var watcher = gulp.watch('./*/.js', ['uglify','reload'])
watcher.on('change',callback)