美文网首页
gulp常用插件

gulp常用插件

作者: angelwgh | 来源:发表于2017-06-30 18:04 被阅读0次

    1.自动加载插件

    使用gulp-load-plugins

    安装:npm install --save-dev gulp-load-plugins

    gulp-load-plugins这个插件能自动帮你加载package.json文件里的gulp插件。
    例如假设你的package.json文件里的依赖是这样的:

    {
      "devDependencies": {
        "gulp": "~3.6.0",
        "gulp-rename": "~1.2.0",
        "gulp-ruby-sass": "~0.4.3",
        "gulp-load-plugins": "~0.5.1"
      }
    }
    

    然后我们可以在gulpfile.js中使用gulp-load-plugins来帮我们加载插件:

    var gulp = require('gulp');
    //加载gulp-load-plugins插件,并马上运行它
    var plugins = require('gulp-load-plugins')();
    

    然后我们要使用gulp-renamegulp-ruby-sass这两个插件的时候,就可以使用plugins.renameplugins.rubySass来代替了,也就是原始插件名去掉gulp-前缀,之后再转换为驼峰命名。

    最后要提醒的一点是,因为gulp-load-plugins是通过package.json文件来加载插件的,所以必须要保证你需要自动加载的插件已经写入到了package.json文件里,并且这些插件都是已经安装好了的。

    2.重命名

    使用gulp-rename

    安装:npm install --save-dev gulp-rename

    用来重命名文件流中的文件。用gulp.dest()方法写入文件时,文件名使用的是文件流中的文件名,如果要想改变文件名,那可以在之前用gulp-rename插件来改变文件流中的文件名。

    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
    });
    

    3. js文件压缩

    使用gulp-uglify
    安装:npm install --save-dev gulp-uglify
    用来压缩js文件,使用的是uglify引擎

    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')); //压缩后的路径
    });
    

    4.css文件压缩

    使用gulp-minify-css
    安装:npm install --save-dev gulp-minify-css
    要压缩css文件时可以使用该插件

    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'));
    });
    

    5.html文件压缩

    使用gulp-minify-html

    安装:npm install --save-dev gulp-minify-html
    用来压缩html文件

    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'));
    });
    

    6. js代码检查

    使用gulp-jshint

    安装:npm install --save-dev gulp-jshint
    用来检查js代码

    var gulp = require('gulp'),
        jshint = require("gulp-jshint");
     
    gulp.task('jsLint', function () {
        gulp.src('js/*.js')
        .pipe(jshint())
        .pipe(jshint.reporter()); // 输出检查结果
    });
    

    7.文件合并

    使用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'));
    });
    

    8.less和sass的编译

    less使用gulp-less,
    安装:npm install --save-dev gulp-less

    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-sass

    var gulp = require('gulp'),
        sass = require("gulp-sass");
     
    gulp.task('compile-sass', function () {
        gulp.src('sass/*.sass')
        .pipe(sass())
        .pipe(gulp.dest('dist/css'));
    });
    

    9. 图片压缩

    可以使用gulp-imagemin插件来压缩jpg、png、gif等图片。

    var gulp = require('gulp');
    var imagemin = require('gulp-imagemin');
    var pngquant = require('imagemin-pngquant'); //png图片压缩插件
    
    gulp.task('default', function () {
        return gulp.src('src/images/*')
            .pipe(imagemin({
                progressive: true,
                use: [pngquant()] //使用pngquant来压缩png图片
            }))
            .pipe(gulp.dest('dist'));
    });
    

    gulp-imagemin的使用比较复杂一点,而且它本身也有很多插件,建议去它的项目主页看看文档

    10. 浏览器自动刷新

    这里我使用browsersync插件
    安装:npm install browser-sync gulp --save-dev

    var gulp        = require('gulp');
    var browserSync = require('browser-sync').create();
    
    // 静态服务器
    gulp.task('browser-sync', function() {
        browserSync.init({
            server: {
                baseDir: "./"
            }
        });
    });
    
    // 代理
    
    gulp.task('browser-sync', function() {
        browserSync.init({
            proxy: "你的域名或IP"
        });
    });
    

    参考文章
    前端构建工具gulpjs的使用介绍及技巧

    相关文章

      网友评论

          本文标题:gulp常用插件

          本文链接:https://www.haomeiwen.com/subject/nmsicxtx.html