原文:http://www.ydcss.com/archives/41
简介:
使用gulp-minify-css压缩css文件,减小文件大小,并给引用url添加版本号避免缓存。重要:gulp-minify-css已经被废弃,请使用gulp-clean-css,用法一致。
1、安装nodejs/全局安装gulp/本地安装gulp/创建package.json和gulpfile.js文件
1.1、gulp基本使用还未掌握?请参看: gulp详细入门教程
1.2、本示例目录结构如下:
2、本地安装gulp-minify-css
2.1、github:https://github.com/jonathanepollack/gulp-minify-css
2.2、安装:命令提示符执行 cnpm install gulp-minify-css --save-dev
2.3、注意:没有安装cnpm请使用 npm install gulp-minify-css --save-dev
什么是cnpm,如何安装?
2.4、说明:--save-dev
保存配置信息至 package.json 的 devDependencies 节点。为什么要保存至package.json?
3、配置gulpfile.js
3.1、基本使用
1 2 3 4 5 6 7 8 | 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')); }); |
3.2、gulp-minify-css 最终是调用clean-css,其他参数查看这里
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | var gulp = require('gulp'), cssmin = require('gulp-minify-css'); gulp.task('testCssmin', function () { gulp.src('src/css/*.css') .pipe(cssmin({ advanced: false,//类型:Boolean 默认:true [是否开启高级优化(合并选择器等)] compatibility: 'ie7',//保留ie7及以下兼容写法 类型:String 默认:''or'*' [启用兼容模式; 'ie7':IE7兼容模式,'ie8':IE8兼容模式,'*':IE9+兼容模式] keepBreaks: true,//类型:Boolean 默认:false [是否保留换行] keepSpecialComments: '*' //保留所有特殊前缀 当你用autoprefixer生成的浏览器前缀,如果不加这个参数,有可能将会删除你的部分前缀 })) .pipe(gulp.dest('dist/css')); }); |
3.3、给css文件里引用url加版本号(根据引用文件的md5生产版本号),像这样:
1 2 3 4 5 6 7 8 9 10 11 | var gulp = require('gulp'), cssmin = require('gulp-minify-css'); //确保已本地安装gulp-make-css-url-version [cnpm 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')); }); |
3.3、若想保留注释,这样注释即可:
1 2 3 | /*! Important comments included in minified output. */ |
4、执行任务
4.1、命令提示符执行:gulp testCssmin