Gulp使用

參考鏈接--gulp官網(wǎng)

安裝

npm gulp --save-dev

使用

在根目錄下創(chuàng)建gulpfile.js文件嚎花,可用插件
<pre>
var gulp = require('gulp'),
less = require('gulp-less'),
autoprefixer = require('gulp-autoprefixer'),
livereload = require('gulp-livereload'),
minifyCss = require('gulp-minify-css'),
runSequence = require('run-sequence'),
rev = require('abc-gulp-rev'),
revCollector = require('abc-gulp-rev-collector');
gulp.task('less', function () {
//文件的目錄
gulp.src('css/.less')
//解析less文件
.pipe(less())
//根據(jù)設(shè)置瀏覽器版本自動處理瀏覽器前綴
.pipe(autoprefixer({
browsers: [
'Chrome >= 35',
'Firefox >= 31',
'Edge >= 12',
'Explorer >= 9',
'iOS >= 8',
'Safari >= 8',
'Android 2.3',
'Android >= 4',
'Opera >= 12'
]
}))
//壓縮css代碼 這行代碼要在生成css文件代碼之前
.pipe(minifyCss())
//生成的文件在css文件夾下面
.pipe(gulp.dest('css'))
//監(jiān)聽的文件發(fā)生變化的時(shí)候自動刷新
.pipe(livereload());
});
//CSS生成文件hash編碼并生成 rev-manifest.json文件名對照映射
gulp.task('revCss', function(){
return gulp.src("css/
.css")
.pipe(rev())
.pipe(rev.manifest())
.pipe(gulp.dest('rev/css'));
});

  //js生成文件hash編碼并生成 rev-manifest.json文件名對照映射 
  gulp.task('revJs', function(){
      return gulp.src("js/*.js")
          .pipe(rev())
          .pipe(rev.manifest())
          .pipe(gulp.dest('rev/js'));
  });

  //Html替換css、js文件版本
  gulp.task('revHtml', function () {
      return gulp.src(['rev/**/*.json', 'View/**/*.html'])
          .pipe(revCollector())
          .pipe(gulp.dest('View'));
  });
  //創(chuàng)建監(jiān)聽任務(wù) 監(jiān)聽文件變化
  gulp.task('watch', function () {
      livereload.listen();
      gulp.watch('css/*.less', ['less']);
  });
  //開發(fā)構(gòu)建
  gulp.task('build', function (done) {
        condition = false;
       runSequence(
            ['less'],
            ['revCss'],
            ['revJs'],
            ['revHtml'],
            done);
   });
  
   gulp.task('default', ['watch']);

</pre>

上面代碼塊中吩抓,實(shí)現(xiàn)了自動為js氏义,css加版本號影所,但是加的方式與傳統(tǒng)的不一樣骨宠,原因是代碼來源于php項(xiàng)目中,前后端不分離征讲,所以前端代碼是在application中的,沒有和gulpfile同一個(gè)文件夾下橡娄。因此也是修改下gulp-rev和gulp-rev-collector兩個(gè)文件诗箍,重新上傳到自己的npm空間并重命名以及版本號(參考上傳npm),但是作者等均未修改挽唉。文章參考自Tony(托尼)老師的前端靜態(tài)資源版本更新與緩存之——通過gulp 在原h(huán)tml文件上自動化添加js滤祖、css版本號

運(yùn)行

  • 在根目錄下瓶籽,Terminal終端輸入命令gulp匠童,監(jiān)聽less文件的變化;
  • 輸入gulp build自動生成版本號塑顺,提交代碼汤求。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市严拒,隨后出現(xiàn)的幾起案子扬绪,更是在濱河造成了極大的恐慌,老刑警劉巖裤唠,帶你破解...
    沈念sama閱讀 221,430評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挤牛,死亡現(xiàn)場離奇詭異,居然都是意外死亡巧骚,警方通過查閱死者的電腦和手機(jī)赊颠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評論 3 398
  • 文/潘曉璐 我一進(jìn)店門格二,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人竣蹦,你說我怎么就攤上這事顶猜。” “怎么了痘括?”我有些...
    開封第一講書人閱讀 167,834評論 0 360
  • 文/不壞的土叔 我叫張陵长窄,是天一觀的道長。 經(jīng)常有香客問我纲菌,道長挠日,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,543評論 1 296
  • 正文 為了忘掉前任翰舌,我火速辦了婚禮嚣潜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘椅贱。我一直安慰自己懂算,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,547評論 6 397
  • 文/花漫 我一把揭開白布庇麦。 她就那樣靜靜地躺著计技,像睡著了一般。 火紅的嫁衣襯著肌膚如雪山橄。 梳的紋絲不亂的頭發(fā)上垮媒,一...
    開封第一講書人閱讀 52,196評論 1 308
  • 那天,我揣著相機(jī)與錄音航棱,去河邊找鬼睡雇。 笑死,一個(gè)胖子當(dāng)著我的面吹牛丧诺,可吹牛的內(nèi)容都是我干的入桂。 我是一名探鬼主播奄薇,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼驳阎,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了馁蒂?” 一聲冷哼從身側(cè)響起呵晚,我...
    開封第一講書人閱讀 39,671評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎沫屡,沒想到半個(gè)月后饵隙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,221評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡沮脖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,303評論 3 340
  • 正文 我和宋清朗相戀三年金矛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了芯急。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,444評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡驶俊,死狀恐怖娶耍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情饼酿,我是刑警寧澤榕酒,帶...
    沈念sama閱讀 36,134評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站故俐,受9級特大地震影響想鹰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜药版,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,810評論 3 333
  • 文/蒙蒙 一辑舷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧槽片,春花似錦惩妇、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蝙云,卻和暖如春氓皱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背勃刨。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評論 1 272
  • 我被黑心中介騙來泰國打工波材, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人身隐。 一個(gè)月前我還...
    沈念sama閱讀 48,837評論 3 376
  • 正文 我出身青樓廷区,卻偏偏與公主長得像,于是被迫代替她去往敵國和親贾铝。 傳聞我的和親對象是個(gè)殘疾皇子隙轻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,455評論 2 359

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

  • 1、gulp的安裝 首先確保你已經(jīng)正確安裝了nodejs環(huán)境垢揩。然后以全局方式安裝gulp: npm install...
    F_imok閱讀 2,382評論 1 11
  • 在現(xiàn)在的前端開發(fā)中玖绿,前后端分離、模塊化開發(fā)叁巨、版本控制斑匪、文件合并與壓縮、mock數(shù)據(jù)等等一些原本后端的思想開始...
    Charlot閱讀 5,448評論 1 32
  • gulpjs是一個(gè)前端構(gòu)建工具锋勺,與gruntjs相比蚀瘸,gulpjs無需寫一大堆繁雜的配置參數(shù)狡蝶,API也非常簡單,學(xué)...
    依依玖玥閱讀 3,157評論 7 55
  • API 文檔所有壓縮插件贮勃,可參考gulp官方或者node官方 1.安裝node和gulp:node安裝暫不介紹牢酵。g...
    索哥來了閱讀 300評論 0 2
  • 在《簡書仿站報(bào)告(一):建站前的基礎(chǔ)準(zhǔn)備》這篇文章中,已經(jīng)詳細(xì)介紹了仿站前的準(zhǔn)備工作衙猪。今天的內(nèi)容主要是開始制作簡書...
    荷小音閱讀 1,744評論 7 8