我一人,我异人,我亦人

导航

gulp使用详解

前面整理了 gulp使用入门,本节介绍相关的压缩

1、压缩js文件

  步骤同基础步骤,相关可以看入门篇

npm install gulp-uglify --save-dev    引入js压缩库

 

gulpfile.js文件创建任务
var gulp = require('gulp'),
    uglify = require('gulp-uglify');
 
gulp.task('jsmin', function () {
    gulp.src(['js/test1.js','js/test2.js'])  //这里是你要压缩的文件  多个文件以数组形式传入
        .pipe(uglify())
        .pipe(gulp.dest('dist/js'));
});
 
gulp.task('jsmin', function () {
    //压缩src/js目录下的所有js文件
    //除了test1.js和test2.js(**匹配src/js的0个或多个子文件夹)
    gulp.src(['src/js/*.js', '!src/js/**/{test1,test2}.js'])
        .pipe(uglify({
         //mangle: true,//类型:Boolean 默认:true 是否修改变量名
        mangle: {except: ['require' ,'exports' ,'module' ,'$']}//排除混淆关键字
      //更多参数查看 这里
      }))
        .pipe(gulp.dest('dist/js'));
});  

  执行js任务:

命令提示符执行:gulp jsmin

  

 2、压缩css文件

  安装依赖 

npm install gulp-minify-css --save-dev
 gulpfile.js文件创建任务
基本使用:
var gulp = require('gulp'),
cssmin = require('gulp-minify-css');gulp.task('testCssmin', function () {
    gulp.src('src/css/*.css')
        .pipe(cssmin())
        .pipe(gulp.dest('dist/css')); }))

含参数: (更多参数配置)
gulp.task('testCssmin', function () { gulp.src('css/*.css').pipe(cssmin({ compatibility: 'ie7',//保留ie7及以下兼容写法 类型:String 默认:''or'*' [启用兼容模式; 'ie7':IE7兼容模式,'ie8':IE8兼容模式,'*':IE9+兼容模式] keepBreaks: true,//类型:Boolean 默认:false [是否保留换行] keepSpecialComments: '*' //保留所有特殊前缀 当你用autoprefixer生成的浏览器前缀,如果不加这个参数,有可能将会删除你的部分前缀 }))



css里引用加版本号:
var gulp = require('gulp'), 
cssmin = require('gulp-minify-css');
    //确保已本地安装gulp-make-css-url-version [npm install gulp-make-css-url-version --save-dev]
    cssver = require('gulp-make-css-url-version');
gulp.task('testCssmin', function () {
    gulp.src('src/css/*.css')
        .pipe(cssver()) //给css文件里引用文件加版本号(文件MD5)
        .pipe(cssmin())
        .pipe(gulp.dest('dist/css'))
});


若想保留注释,这样注释:
/*!
 
  Important comments included in minified output.
*/ 

 执行gulp任务

命令提示符执行:gulp testCssmin

  3、压缩html文件

 安装依赖 

npm install gulp-htmlmin --save-dev
gulpfile.js文件创建任务

 

基本使用:

var gulp = require('gulp'),
    htmlmin = require('gulp-htmlmin');
 
gulp.task('testHtmlmin', function () {
    var options = {
        removeComments: true,//清除HTML注释
        collapseWhitespace: true,//压缩HTML
        collapseBooleanAttributes: true,//省略布尔属性的值 <input checked="true"/> ==> <input />
        removeEmptyAttributes: true,//删除所有空格作属性值 <input id="" /> ==> <input />
        removeScriptTypeAttributes: true,//删除<script>的type="text/javascript"
        removeStyleLinkTypeAttributes: true,//删除<style>和<link>的type="text/css"
        minifyJS: true,//压缩页面JS
        minifyCSS: true//压缩页面CSS
    };
    gulp.src('src/html/*.html')
        .pipe(htmlmin(options))
        .pipe(gulp.dest('dist/html'));
});

更多参数查看

  执行gulp任务

 

命令提示符执行:gulp testHtmlmin

 

  


 

 

以上有什么问题欢迎指出,蟹蟹 

 

 

找到了一个好东东,附上网址,可以学习一哈,嘻嘻

posted on 2018-07-09 10:29  苏小十~  阅读(630)  评论(0编辑  收藏  举报