gulp的插件數量雖然沒有grunt那麼多,但也能夠說是應有盡有了,下面列舉一些經常使用的插件。css
使用gulp-rename 安裝:npm install --save-dev gulp-rename 用來重命名文件流中的文件。用gulp.dest()方法寫入文件時,文件名使用的是文件流中的文件名,若是要想改變文件名,那能夠在以前用gulp-rename插件來改變文件流中的文件名。html
var gulp = require('gulp'), rename = require('gulp-rename'), uglify = require("gulp-uglify"); gulp.task('rename', function () { gulp.src('js/jquery.js') .pipe(uglify()) //壓縮 .pipe(rename('jquery.min.js')) //會將jquery.js重命名爲jquery.min.js .pipe(gulp.dest('js')); //關於gulp-rename的更多強大的用法請參考https://www.npmjs.com/package/gulp-rename });
使用gulp-uglify 安裝:npm install --save-dev gulp-uglify 用來壓縮js文件,使用的是uglify引擎jquery
var gulp = require('gulp'), uglify = require("gulp-uglify"); gulp.task('minify-js', function () { gulp.src('js/*.js') // 要壓縮的js文件 .pipe(uglify()) //使用uglify進行壓縮,更多配置請參考: .pipe(gulp.dest('dist/js')); //壓縮後的路徑 });
使用gulp-minify-css(也能夠使用gulp-cssnano) 安裝:npm install --save-dev gulp-minify-css 要壓縮css文件時能夠使用該插件chrome
var gulp = require('gulp'), minifyCss = require("gulp-minify-css"); gulp.task('minify-css', function () { gulp.src('css/*.css') // 要壓縮的css文件 .pipe(minifyCss()) //壓縮css .pipe(gulp.dest('dist/css')); });
使用gulp-minify-html 安裝:npm install --save-dev gulp-minify-html 用來壓縮html文件npm
var gulp = require('gulp'), minifyHtml = require("gulp-minify-html"); gulp.task('minify-html', function () { gulp.src('html/*.html') // 要壓縮的html文件 .pipe(minifyHtml()) //壓縮 .pipe(gulp.dest('dist/html')); });
使用gulp-jshint 安裝:npm install --save-dev gulp-jshint 用來檢查js代碼gulp
var gulp = require('gulp'), jshint = require("gulp-jshint"); gulp.task('jsLint', function () { gulp.src('js/*.js') .pipe(jshint()) .pipe(jshint.reporter()); // 輸出檢查結果 });
使用gulp-concat 安裝:npm install --save-dev gulp-concat 用來把多個文件合併爲一個文件,咱們能夠用它來合併js或css文件等,這樣就能減小頁面的http請求數了瀏覽器
var gulp = require('gulp'), concat = require("gulp-concat"); gulp.task('concat', function () { gulp.src('js/*.js') //要合併的文件 .pipe(concat('all.js')) // 合併匹配到的js文件並命名爲 "all.js" .pipe(gulp.dest('dist/js')); });
less使用gulp-less,安裝:npm install --save-dev gulp-lesssass
var gulp = require('gulp'), less = require("gulp-less"); gulp.task('compile-less', function () { gulp.src('less/*.less') .pipe(less()) .pipe(gulp.dest('dist/css')); });
sass使用gulp-sass,安裝:npm install --save-dev gulp-sassless
var gulp = require('gulp'), sass = require("gulp-sass"); gulp.task('compile-sass', function () { gulp.src('sass/*.sass') .pipe(sass()) .pipe(gulp.dest('dist/css')); });
能夠使用gulp-imagemin插件來壓縮jpg、png、gif等圖片。 安裝:npm install --save-dev gulp-imagemingrunt
var gulp = require('gulp'); var imagemin = require('gulp-imagemin'); gulp.task('default', function () { return gulp.src('src/images/*') .pipe(imagemin()) .pipe(gulp.dest('dist')); });
gulp-imagemin的使用比較複雜一點,並且它自己也有不少插件,建議去它的項目主頁看看文檔
使用gulp-livereload插件,安裝:npm install --save-dev gulp-livereload。 當代碼變化時,它能夠幫咱們自動刷新頁面 該插件最好配合谷歌瀏覽器來使用,且要安裝livereload chrome extension擴展插件,不能下載的請自行FQ。
var gulp = require('gulp'), less = require('gulp-less'), livereload = require('gulp-livereload'); gulp.task('less', function() { gulp.src('less/*.less') .pipe(less()) .pipe(gulp.dest('css')) .pipe(livereload()); }); gulp.task('watch', function() { livereload.listen(); //要在這裏調用listen()方法 gulp.watch('less/*.less', ['less']); });
安裝:npm install --save-dev gulp-sourcemaps
安裝:npm install --save-dev gulp-autoprefixer
var sourcemaps = require('gulp-sourcemaps'); var autoprefixer = require('gulp-autoprefixer'); ... gulp.task('demo', function() { var css = [...]; gulp.src(css) .pipe(sourcemaps.init()) .pipe(concat("styles.css")) .pipe(cssnano()) .pipe(sourcemaps.write('.')) .pipe(gulp.dest('./www/build')); });
安裝:npm install --save-dev gulp-base64
var base64 = require('gulp-base64'); gulp.task('style', function() { var css = ['./www/libs/am-touch/amazeui.touch.css', "./www/css/main.css", "./www/css/page.main.css", "./www/css/checks.css", "./www/css/fullPageLoading.css", "./www/css/loading.css" ]; return gulp.src(css) .pipe(concat("styles.css")) .pipe(autoprefixer()) .pipe(base64({ baseDir: "./www/css", extensions: ['png'], maxImageSize: 20 * 1024, // bytes debug: false })) .pipe(cssnano()) .pipe(gulp.dest('./www/build')); });
安裝:npm install --save-dev gulp-clean
var clean = require('gulp-clean'); gulp.task('clean', function() { return gulp.src(['./www/build/*']) .pipe(clean({ force: true })); });
安裝:npm install --save-dev gulp-plumber
錯誤捕獲,防止出錯後中斷gulp
var clean = require('gulp-clean'); gulp.task('clean', function() { return gulp.src(['./www/build/*']) .pipe(clean({ force: true })); });