gulp教程

GitHub地址:https://github.com/xiaqijian/gulp_study
建議上GitHub看梦谜,簡書有些鏈接失效
如何使用
--
首先下載安裝gulp

$ npm i gulp -g

在本地建一個文件夾gulp_study

$ mkdir gulp_study

$ cd gulp_study

開始工作

建立配置文件颂斜,并安裝本地gulp依賴

$ npm init

$ npm install gulp --save-dev

在gulp_study文件夾建立相關文件夾

文件結構為

gulp_study
    |
    |
    |--dist // 生成文件
    |
    |--src  //源碼放的位置 
    |   |
    |   |--------js
    |   |---------css
    |   |-----img
    |   |-----less
    |   |-----index.html
    |
    |--gulpfile.js
    |
    |--package.json
    |

gulp處理文件分類

  1. html
  2. css
  3. js
  4. img

主要用到以下插件

gulp-uglify js文件壓縮
gulp-rename 重命名
gulp-minify-css css壓縮
gulp-less 編譯less
gulp-autoprefixer 自動添加瀏覽器前綴
gulp-imagemin image 壓縮
gulp.spritesmith img 雪碧圖
gulp-minify-html html 壓縮
gulp-concat 文件合并
gulp-babel 將es6編譯成es5
gulp-sourcemaps

html [source]

html 主要還是進行代碼壓縮處理

var gulp = require('gulp')
var minifyHtml = require('gulp-minify-html')  // html壓縮
gulp.task('minifyhtml', function(){
    gulp.src('src/index.html')
    .pipe(minifyHtml())
    .pipe(gulp.dest('dist'))
});

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首頁</title>
    <link rel="stylesheet" type="text/css" href="./css/style.css">
    <script type="text/javascript" src="./js/hello.js"></script>
</head>
<body>
    
</body>
</html>

運行

$ gulp minifyhtml

之后就可以在dist文件夾下面看到壓縮好的index.html

css [source]

加載所需插件

var gulp = require('gulp');
var rename = require('gulp-rename'); // 重命名
var minifyCss = require('gulp-minify-css'); // css壓縮
var autoprefixer = require('gulp-autoprefixer') // 自動添加瀏覽器前綴

css代碼壓縮處理

// css 壓縮
gulp.task('minifycss', function(){
    gulp.src('src/css/*.css')
    .pipe(minifyCss())
    .pipe(gulp.dest('dist/css'))
});

css 添加瀏覽器前綴

// 自動添加瀏覽器前綴
gulp.task('autoprefixer', function(){
    gulp.src('src/css/*.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'))
});

css 重新命名

// css 重名
gulp.task('renamecss', function(){
    gulp.src('src/css/style.css')
    .pipe(rename('style.min.css'))
    .pipe(gulp.dest('dist/css'))
});

js [source]

js主要經行壓縮驱入,重命名, 合并文件, ES6 轉換ES5

加載插件

var gulp = require('gulp');
var uglify = require('gulp-uglify'); // js文件壓縮
var rename = require('gulp-rename'); // 重命名
var concat = require('gulp-concat'); // 文件合并
var babel = require('gulp-babel'); // ES6編譯成ES5

壓縮

// js文件壓縮
gulp.task('uglify', function(){
    gulp.src('src/js/*.js')
    .pipe(uglify())
    .pipe(gulp.dest('dist/js'))
});

合并文件,重命名

// 重命名
gulp.task('rename', function(){
    gulp.src('src/js/hello.js')
    .pipe(rename('hello.min.js'))
    .pipe(gulp.dest('dist/js'))
})

// 文件合并
gulp.task('concat', function(){
    gulp.src('src/js/*.js')
    .pipe(concat('concat.js'))
    .pipe(uglify()) // 合并之后壓縮
    .pipe(gulp.dest('dist/js'))
});

將ES6轉換為ES5

// 再使用gulp-babel 之前需安裝一下內容
// npm install gulp-babel babel-preset-2015 --save-dev
// 將ES6轉換成ES5
gulp.task('es6', function(){
    gulp.src('src/js/es6.js')
    .pipe(babel())
    .pipe(gulp.dest('dist/js'))
});

img [source]

關于圖片處理主要經行壓縮都许,制作雪碧圖

加載插件

var gulp = require('gulp');
var imagemin = require('gulp-imagemin'); // image 壓縮
var imgspriter = require('gulp.spritesmith') // img 雪碧圖

圖片壓縮

// image壓縮
gulp.task('imagemin', function(){
    gulp.src('src/img/*.{png,jpg,gif,ico}')
    .pipe(imagemin())
    .pipe(gulp.dest('dist/img'))
});

雪碧圖

// image 雪碧圖
gulp.task('imgspriter', function(){
    gulp.src('src/icon/*.png')
    .pipe(imgspriter({
        imgName:'sprite.png',  
        cssName:'css/icon.css',  
        padding:5,  
        algorithm:'binary-tree'    
    }))
    .pipe(gulp.dest('dist/spriter'))
})

不妨關注一下贱傀,微信公眾號:node前端

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末轴合,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子平酿,更是在濱河造成了極大的恐慌凤优,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蜈彼,死亡現(xiàn)場離奇詭異筑辨,居然都是意外死亡,警方通過查閱死者的電腦和手機幸逆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進店門棍辕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人还绘,你說我怎么就攤上這事楚昭。” “怎么了拍顷?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵抚太,是天一觀的道長。 經常有香客問我昔案,道長尿贫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任踏揣,我火速辦了婚禮庆亡,結果婚禮上,老公的妹妹穿的比我還像新娘捞稿。我一直安慰自己又谋,他們只是感情好钝尸,可當我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著搂根,像睡著了一般珍促。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上剩愧,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天猪叙,我揣著相機與錄音,去河邊找鬼仁卷。 笑死穴翩,一個胖子當著我的面吹牛,可吹牛的內容都是我干的锦积。 我是一名探鬼主播芒帕,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼丰介!你這毒婦竟也來了背蟆?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤哮幢,失蹤者是張志新(化名)和其女友劉穎带膀,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體橙垢,經...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡垛叨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了柜某。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嗽元。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖喂击,靈堂內的尸體忽然破棺而出剂癌,到底是詐尸還是另有隱情,我是刑警寧澤惭等,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布珍手,位于F島的核電站,受9級特大地震影響辞做,放射性物質發(fā)生泄漏琳要。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一秤茅、第九天 我趴在偏房一處隱蔽的房頂上張望稚补。 院中可真熱鬧,春花似錦框喳、人聲如沸课幕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽乍惊。三九已至杜秸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間润绎,已是汗流浹背撬碟。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留莉撇,地道東北人呢蛤。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像棍郎,于是被迫代替她去往敵國和親其障。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內容

  • 原文標題:Gulp for Beginners作者: Zell Liew翻譯:治電小白菜原文地址:https://...
    ZZES_ZCDC閱讀 1,586評論 6 18
  • gulp.js 是基于node.js構建的涂佃。利用nodejs流的威力 1. 安裝nodejs http://www...
    芹菜斯_嘉麗閱讀 513評論 0 0
  • 在現(xiàn)在的前端開發(fā)中励翼,前后端分離、模塊化開發(fā)巡李、版本控制抚笔、文件合并與壓縮、mock數(shù)據(jù)等等一些原本后端的思想開始...
    Charlot閱讀 5,449評論 1 32
  • Pines Cheng’s Blog awesome-gulp中文版 一份gulp的資源侨拦,插件和使用實例清單, 致...
    大前端之路閱讀 2,307評論 0 12
  • 你可以一天上九節(jié)課兩節(jié)晚自習,你可以一天寫完兩支筆芯做至少三套卷子,你可以早起十分鐘晚睡十分鐘記幾個單詞和成語,你...
    39b601a72dad閱讀 209評論 0 0