前提
- 現在GulpでSassやLessやCompassを使っている人向け
- より最適なCSS出力をしたい人向け
- 下記のディレクトリ構造を仮定
project - scss - css - .csscomb.json - config.rb - gulpfile.js - package.json
モジュールインストール
npm i gulp-plumber -D npm i gulp-compass -D npm i gulp-csscomb -D npm i gulp-autoprefixer -D npm i gulp-clean-css -D
gulpfile.js
var gulp = require('gulp'); var compass = require('gulp-compass'); var plumber = require('gulp-plumber'); var csscomb = require('gulp-csscomb'); var autoprefixer = require('gulp-autoprefixer'); var cleancss = require('gulp-clean-css'); // compass gulp.task('compass', function(){ gulp.src('scss/*.scss') .pipe(plumber()) .pipe(compass({ config_file: 'config.rb', comments: false, css: 'css/', sass: 'scss/' })) .pipe(csscomb()) .pipe(autoprefixer()) .pipe(cleancss()) .pipe(gulp.dest('dist')); }); //watch gulp.task('watch', function(){ gulp.watch('scss/*.scss',['compass']); }); gulp.task('default', ['watch']);
大まかには下記のことをやっています。
- Compassのコンパイルして
- csscombにかけてフォーマットを整えて
- ベンダープレフィックスをチェックして
- Minifyして出力
gulp-pleeeaseという便利なモジュールもあるようですが、gulp-clean-cssの方が高度な圧縮をしてくれるので使っていません。
.csscomb.json
こちらから好みのフォーマットを作れます。