gulp 的使用

http://www.gulpjs.com.cn/


一. gulp 安裝


創(chuàng)建package.json文件

npm init

全局安裝 gulp:

npm install --global gulp

作為項目的開發(fā)依賴(devDependencies)安裝:

npm install --save-dev gulp

二. 基本 API


  • gulp.src(glob[, options])

    • 根據(jù)glob匹配文件喻喳,返回 stream迎捺,可以通過.pipe() 方法傳遞給后續(xù)的插件誓酒。
  • gulp.dest(path[, options])

    • 一般用法 .pipe(gulp.dest(path)),把pipe 中的內容按照指定的 path寫成文件压储,會自動創(chuàng)建不存在的文件夾。
    • 注意,可以通過 .pipe多次指定輸出的地方,具體請看 這里
  • gulp.task(name[, deps], fn)

    • 定義名為 name 的任務,定義之后就可以在命令行中使用 gulp xxx 來執(zhí)行任務略就。
    • deps里面的任務全部完成后才會執(zhí)行 fn
    • deps 里面的任務都是并行執(zhí)行的捎迫,如果需要順序執(zhí)行,需要特殊寫法表牢。具體看 這里
  • gulp.watch(glob[, opts, cb])

    • 監(jiān)聽文件變化
    • 不會監(jiān)聽新文件(目錄)窄绒,所以一般你會需要 gulp-watch
    • watch方法路徑不要用 './xx',用 './xx' 開頭作為當前路徑開始崔兴,會導致無法監(jiān)測到新增文件彰导,所以直接省略掉'./'即可。

三. 安裝插件


1. Browsersync

省時的瀏覽器同步測試工具敲茄,Browsersync可以同時在PC位谋、平板、手機等設備下進項調試堰燎。

Install

$ npm install --save-dev browser-sync

Usage (gulpfile.js 文件)

var gulp = require('gulp');
var browserSync = require('browser-sync').create();

// 本地服務器
gulp.task('browserSync', function() {
    browserSync.init({
        server: {
            baseDir: "./"
        },
        port:'8080'
    });
});

2. gulp-autoprefixer

Install

$ npm install --save-dev gulp-autoprefixer

Usage

var gulp = require('gulp'),
  autoprefixer = require('gulp-autoprefixer');
 
gulp.task('autoprefixer', function () {
  gulp.src('src/css/index.css')
    .pipe(autoprefixer({
      browsers: ['last 2 versions', 'Android >= 4.0'],
      cascade: true, //是否美化屬性值 默認:true 像這樣:
      //-webkit-transform: rotate(45deg);
      //        transform: rotate(45deg);
      remove:true //是否去掉不必要的前綴 默認:true 
    }))
    .pipe(gulp.dest('dist/css'));
});

gulp-autoprefixer的browsers參數(shù)詳解 (傳送門):

  • last 2 versions: 主流瀏覽器的最新兩個版本
  • last 1 Chrome versions: 谷歌瀏覽器的最新版本
  • last 2 Explorer versions: IE的最新兩個版本
  • last 3 Safari versions: 蘋果瀏覽器最新三個版本
  • Firefox >= 20: 火狐瀏覽器的版本大于或等于20
  • iOS 7: IOS7版本
  • Firefox ESR: 最新ESR版本的火狐
  • > 5%: 全球統(tǒng)計有超過5%的使用率

3. gulp-less

Usage

var gulp = require('gulp');
var less = require('gulp-less'); 
gulp.task('less', function () {
  gulp.src('src/less/*.less')
      .pipe(less())
      .pipe(gulp.dest('src/css'));
});

參考

四.運行


1. 使用命令

以上面的例子為例:

$ gulp browserSync

默認情況下直接運行gulp

var gulp = require('gulp');
gulp.task('default', function() {
  // 將你的默認的任務代碼放在這
});

運行 gulp:

$ gulp

2. 使用webstrom自帶的工具

使用界面上的快捷方式


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末掏父,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子秆剪,更是在濱河造成了極大的恐慌赊淑,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件仅讽,死亡現(xiàn)場離奇詭異陶缺,居然都是意外死亡,警方通過查閱死者的電腦和手機洁灵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進店門饱岸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事伶贰≈肱椋” “怎么了?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵黍衙,是天一觀的道長泥畅。 經(jīng)常有香客問我,道長琅翻,這世上最難降的妖魔是什么位仁? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮方椎,結果婚禮上聂抢,老公的妹妹穿的比我還像新娘。我一直安慰自己棠众,他們只是感情好琳疏,可當我...
    茶點故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著闸拿,像睡著了一般空盼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上新荤,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天揽趾,我揣著相機與錄音,去河邊找鬼苛骨。 笑死篱瞎,一個胖子當著我的面吹牛,可吹牛的內容都是我干的痒芝。 我是一名探鬼主播俐筋,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼严衬!你這毒婦竟也來了校哎?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤瞳步,失蹤者是張志新(化名)和其女友劉穎闷哆,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體单起,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡抱怔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了嘀倒。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片屈留。...
    茶點故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡局冰,死狀恐怖,靈堂內的尸體忽然破棺而出灌危,到底是詐尸還是另有隱情康二,我是刑警寧澤,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布勇蝙,位于F島的核電站沫勿,受9級特大地震影響,放射性物質發(fā)生泄漏味混。R本人自食惡果不足惜产雹,卻給世界環(huán)境...
    茶點故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望翁锡。 院中可真熱鬧蔓挖,春花似錦、人聲如沸馆衔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽角溃。三九已至拷获,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間开镣,已是汗流浹背刀诬。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工咽扇, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留邪财,地道東北人。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓质欲,卻偏偏與公主長得像树埠,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子嘶伟,可洞房花燭夜當晚...
    茶點故事閱讀 42,700評論 2 345

推薦閱讀更多精彩內容

  • gulp 基于流 任務化 (所以理解簡單 容易上手) 以下代碼為整體使用規(guī)則: 單個test的使用 gulp h...
    假的偽文青閱讀 1,898評論 0 1
  • (最近一直搞angularjs.項目里非要用2個包管理器npm和bower怎憋,2個任務運行器webpage、gulp...
    Lucky_福星閱讀 658評論 1 2
  • 對網(wǎng)站資源進行優(yōu)化九昧,并使用不同瀏覽器測試并不是網(wǎng)站設計過程中最有意思的部分绊袋,但是這個過程中的很多重復的任務能夠使用...
    懵逼js閱讀 1,057評論 0 8
  • http://www.ydcss.com/archives/18#lesson2 1.安裝nodejs跟npm包管...
    hibigger閱讀 262評論 0 0
  • gulp是一個構建工具,可以通過它自動執(zhí)行網(wǎng)站開發(fā)過程中的公共任務铸鹰,例如:編譯sass/less,編譯壓縮混淆ja...
    痛心涼閱讀 388評論 2 1