初認gulp

為什么是Gulp?

類似Gulp的工具锦爵,我們通常稱之為構建工具辐脖。如今最流行的兩個構建工具是Gulp和Grunt。
已經(jīng)有非常多的文章論證它們之前的異同僵娃,你隨便搜一下就知道了概作。
主要區(qū)別是你如何使用他們構建自動化工作流。與Grunt相比默怨,Gulp更加簡潔讯榕,執(zhí)行效率更高。
讓我們繼續(xù)學習Gulp并搭建一個簡單的工作流匙睹。

安裝(以mac版本為例)

1愚屁、安裝node

安裝Gulp之前你需要先安裝Node.js。(如何安裝node請百度)

2痕檬、全局安裝gulp

打開終端輸入指令
sudo npm install gulp -g
下載安裝gulp
3霎槐、在項目中創(chuàng)建gulp
首先打開要使用gulp的項目在項目中手動創(chuàng)建Gulpfile.jspackage.json兩個文件
package.json文件:這個文件保存著這個項目相關信息。比如你用到的各種依賴(這里主要是插件)
Gulpfile.js文件:這個文件主要是配置和調(diào)用你所下載好的插件

然后在使用gulp項目中打開終端谆棺,如:

屏幕快照 2017-01-05 上午8.59.44.png

在終端中輸入 npm init
會出現(xiàn)

屏幕快照 2017-01-05 上午9.03.46.png

不想填就一路回車
你可以打開package.jso文件會出現(xiàn)你剛才在終端中輸入的信息栽燕,以后下的插件也可以在這看

屏幕快照 2017-01-05 上午9.06.05.png

然后就是在項目中引入gulp了
終端中輸入 npm install gulp --save-dev
安裝完畢后文件夾中出現(xiàn)

屏幕快照 2017-01-05 上午9.09.33.png

證明gulp依賴加載完畢为肮,可以在項目中使用了

簡單使用gulp

如果想使用某種功能,得先加載gulp插件

終端下載插件 npm install XXXXXX(以下名稱)--save-dev
gulp-minify-css (css壓縮)
gulp-minify-html (html壓縮)
gulp-rename (重命名)
gulp-uglify (js文件壓縮)
gulp-concat (代碼合并)
gulp-jshint (js代碼檢測)
gulp-replace (路徑替換)
and soon on······

插件下載完畢后
首先打開Gulpfile.js

使用require 引入gulp和各種插件

    var gulp = require('gulp'),
        minifyCss = require('gulp-minify-css'),
        minifyHtml = require('gulp-minify-html'),
        uglify = require('gulp-uglify'),
        concat = require('gulp-concat'),
        revCollector = require('gulp-rev-collector'),
        replace = require('gulp-replace');

default設置默認執(zhí)行任務
gulp.task('default',['css','js','html'])
*數(shù)組里的參數(shù)為下面設置任務的名稱
使用gulp.task創(chuàng)建任務
1宠互、css 壓縮 合并

gulp.task('css',function () {     
      gulp.src('./a/*.css')  // 要處理的文件路徑 如果有多個路徑也可以用數(shù)組表示         
      .pipe(concat('style.min.css')) //合并文件以及文件輸出后的名字 
      .pipe(minifyCss())  // 壓縮css文件         
      .pipe(gulp.dest('./b/css')) //處理完文件 輸出的路徑        
});

2擎厢、js壓縮合并

gulp.task('js',function () {    
       gulp.src('./a/*.js')  // 要合并的文件路徑 如果有多個路徑也可以用數(shù)組表示         
      .pipe(concat('demo.min.js'))  //合并文件以及文件輸出后的名字         
      .pipe(uglify())  // 壓縮js文件         
      .pipe(gulp.dest('./b/js'))  //處理完文件 輸出的路徑
})

3、html 壓縮

gulp.task('html',function () {     
      var options ={          
            collapseWhitespace: true,//壓縮HTML
            removeComments: true,//清除HTML注釋          
            minifyJS: true,//壓縮頁面JS          
            minifyCSS: true//壓縮頁面CSS     
      }     
      gulp.src('./a/*.html')         
            .pipe(minifyHtml(options))        
           .pipe(gulp.dest('./b'))
})

Node中的通配符

通配符是一種匹配模式蔼啦,允許你匹配到多個文件榆纽。不止是Node,很多平臺都有捏肢,有點像正則表達式奈籽。

使用通配符,計算機檢查文件名和路徑進行匹配鸵赫。

大部分時候衣屏,我們只需要用到下面4種匹配模式:

1、 *.scss:*號匹配當前目錄任意文件辩棒,所以這里*.scss匹配當前目錄下所有scss文件
2狼忱、 */.scss:匹配當前目錄及其子目錄下的所有scss文件。
3一睁、!not-me.scss:钻弄!號移除匹配的文件,這里將移除not-me.scss
4者吁、*.+(scss|sass):+號后面會跟著圓括號窘俺,里面的元素用|分割,匹配多個選項复凳。這里將匹配scss和sass文件瘤泪。

更多參考:http://www.tuicool.com/articles/FJVNZf
恩~~就先這樣吧。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末染坯,一起剝皮案震驚了整個濱河市均芽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌单鹿,老刑警劉巖掀宋,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異仲锄,居然都是意外死亡劲妙,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門儒喊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來镣奋,“玉大人,你說我怎么就攤上這事怀愧∏染保” “怎么了余赢?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長哈垢。 經(jīng)常有香客問我妻柒,道長,這世上最難降的妖魔是什么耘分? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任举塔,我火速辦了婚禮,結果婚禮上求泰,老公的妹妹穿的比我還像新娘央渣。我一直安慰自己,他們只是感情好渴频,可當我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布芽丹。 她就那樣靜靜地躺著,像睡著了一般枉氮。 火紅的嫁衣襯著肌膚如雪志衍。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天聊替,我揣著相機與錄音,去河邊找鬼培廓。 笑死惹悄,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的肩钠。 我是一名探鬼主播泣港,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼价匠!你這毒婦竟也來了当纱?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤踩窖,失蹤者是張志新(化名)和其女友劉穎坡氯,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體洋腮,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡箫柳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了啥供。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片悯恍。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖伙狐,靈堂內(nèi)的尸體忽然破棺而出涮毫,到底是詐尸還是另有隱情瞬欧,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布罢防,位于F島的核電站黍判,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏篙梢。R本人自食惡果不足惜顷帖,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望渤滞。 院中可真熱鬧贬墩,春花似錦、人聲如沸妄呕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绪励。三九已至肿孵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間疏魏,已是汗流浹背停做。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留大莫,地道東北人蛉腌。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像只厘,于是被迫代替她去往敵國和親烙丛。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容

  • 在現(xiàn)在的前端開發(fā)中羔味,前后端分離河咽、模塊化開發(fā)、版本控制赋元、文件合并與壓縮忘蟹、mock數(shù)據(jù)等等一些原本后端的思想開始...
    Charlot閱讀 5,433評論 1 32
  • Sass&Gulp 一、sass介紹 (一) SASS是一種CSS的開發(fā)工具们陆,提供了許多便利的寫法寒瓦,大大節(jié)省了設計...
    鋒享前端閱讀 1,494評論 0 3
  • 安裝Gulp首先需要安裝Node.js,并在控制臺輸入$ npm install gulp -gMac端需要寫成$...
    LaBaby_閱讀 910評論 0 1
  • 原文標題:Gulp for Beginners作者: Zell Liew翻譯:治電小白菜原文地址:https://...
    ZZES_ZCDC閱讀 1,574評論 6 18
  • 我的新作觀點網(wǎng)http://www.guandn.com(觀點網(wǎng)是一個獵獲新奇、收獲知識椅文、重在獨立思考的網(wǎng)站)喂很,它...
    pizCat閱讀 2,425評論 1 18