Gulp常用插件整理

Posted 前端那些事

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gulp常用插件整理相关的知识,希望对你有一定的参考价值。

1.gulp-autoprefixer

增加浏览器的私有前缀,让你不用再考虑为了写浏览器的兼容前缀而头疼。
安装:

npm install  --save-dev gulp-autoprefixer

配置任务:

var gulp = require('gulp');
var autoprefixer = require('gulp-autoprefixer');

gulp.task('autoprefixer', function () {
    gulp.src('src/css/*.css')
        .pipe(autoprefixer({
            browsers: ['> 5%'],
            cascade: true, //是否美化属性值 默认:true
            remove:true //是否去掉不必要的前缀 默认:true
        }))
        .pipe(gulp.dest('dist/css'));
});

更多浏览器的配置信息请查看

2.gulp-concat

合并js文件,可以合并多个js文件为一个文件,减少服务器请求。
安装:

npm install --save-dev gulp-concat

配置任务:

var gulp = require('gulp');
var concat = reqiure('gulp-concat');

gulp.task('scripts', function() {
    return gulp.src('src/js/*.js')
    .pipe(concat('all.js'))
    .pipe(gulp.dest('dist/'));
});

3.gulp-uglify

一款javascript代码优化工具,可以解析,压缩和美化javascript。
安装:

npm install --save-dev gulp-uglify

配置任务:

var gulp = require('gulp');
var uglify = reuqire('gulp-uglify');

gulp.task('compress-js',function(){
    gulp.src('src/js/*.js')
    .pipe(uglify())
    .pipe(gulp.dest('dist/'));
});

4.gulp-concat-css

css合并插件,合并多个css文件为一个文件,减少网页对服务器的请求数,提供网页响应速度。
安装:

npm install --save-dev gulp-concat-css

配置任务:

var gulp = require('gulp-concat-css');
var concatCss = require('gulp-concat-css');

gulp.task('concat', function () {
    return gulp.src('src/**/*.css')
    .pipe(concatCss("all.css"))
    .pipe(gulp.dest('dist/'));
});

5.gulp-minify-css

压缩css文件,去除注释,空格。
安装:

npm install --save-dev gulp-minify-css

配置任务:

var gulp = require('gulp');
var minifyCSS = require('gulp-minify-css');

gulp.task('compress-css', function() {
    gulp.src('src/css/*.css')
    .pipe(minifyCSS())
    .pipe(gulp.dest('dist/'));
});

6.gulp-htmlmin

html文件压缩插件,去除不需要的注释,空格,属性。
安装:

npm install --save-dev gulp-htmlmin

配置任务:

var gulp = require('gulp');
var htmlmin = require('gulp-htmlmin');

gulp.task('htmlmin', function() {
    gulp.src('src/*.html')
    .pipe(htmlmin({collapseWhitespace: true}))
    .pipe(gulp.dest('dist/'));
});

7. gulp-imagemin

图片压缩插件,压缩gif、png、jpg、svg格式文件。
安装:

npm install --save-dev gulp-imagemin

配置任务:

const gulp = require('gulp');
const imagemin = require('gulp-imagemin');

gulp.task('imagemin', function(){
    gulp.src('src/images/*')
    .pipe(imagemin())
    .pipe(gulp.dest('dist/images'));
});

8.gulp-rename

文件改名插件,可以在需要改名的时候,修改文件的名字。
安装:

npm install --save-dev gulp-rename

配置任务:

var glup = require('gulp');
var rename = require('rename');
gulp.task('imagemin', function(){
    gulp.src('src/css/base.css')
    .pipe(rename('main.css'))
    .pipe(gulp.dest('src/css/'));
});

9.gulp-jshint

检查javascript代码中的错误和潜在的问题。
安装:

npm install --save-dev gulp-jshint

配置任务:

var gulp = require('gulp');
var jshint = require('gulp-jshint');

gulp.task('jshint',function(){
    gulp.src('src/js/*.js')
    .pipe(jshint())
    .pipe(jshint.reporter());
});

10.gulp-csslint

检查css的语法错误。
安装:

npm install --save-dev gulp-csslint

配置任务:

var gulp = require('gulp');
var csslint = require('gulp-csslint');

gulp.task('css', function() {
    gulp.src('src/css/*.css')
    .pipe(csslint())
    .pipe(csslint.reporter());
});

11.gulp-csscomb

格式化css代码,美化css代码,更容易阅读。
安装:

npm install --save-dev gulp-csscomb

配置任务:

var gulp = require('gulp');
var csscomb = require('gulp-csscomb');

gulp.task('styles', function() {
    gulp.src('src/css/main.css')
    .pipe(csscomb())
    .pipe(gulp.dest('dist/css'));
});

12.gulp-load-plugins

插件按需加载插件,在一个项目中需要使用很多插件的时候,为了避免在gulpfile.js文件头引入过多的插件,造成代码的冗余,引用改插件,能够很好的解决这个问题。
安装:

npm install --save-dev gulp-load-plugins

配置需要用到的插件,在package.json中配置

存在devDependencies的话可以不用配置

"dependencies": {
    //下边为用到的插件
    "gulp-jshint": "*",
    "gulp-concat": "*"
}

在任务中使用:

var gulp = require('gulp');
var gulpLoadPlugins = require('gulp-load-plugins');
var plugins = gulpLoadPlugins();

或者

var plugins = require('gulp-load-plugins')();

然后在使用的时候,下边的是相等的,

plugins.jshint = require('gulp-jshint');
plugins.concat = require('gulp-concat');

因此,在使用的时候,我们可以直接通过左边的变量来代替右边的引用,每个插件都是惰性加载的,你不会注意到任何差异。
配置任务:

var gulp = require('gulp');
var $ = require('gulp-load-plugins')();

gulp.task('styles', function() {
    gulp.src('src/styles/bootstrap.less')
    .pipe($.less({strictMath: true}))
    .pipe($.autoprefixer([
    'android 2.3',
    'Android >= 4',
    'Chrome >= 20',
    'Firefox >= 24', // Firefox 24 is the latest ESR
    'Explorer >= 8',
    'ios >= 6',
    'Opera >= 12',
    'Safari >= 6']))
    .pipe($.csscomb())
    .pipe(gulp.dest('./build/css'));
});

了解更多配置信息