gulp将所有css文件缩小为单个文件

时间:2014-10-09 08:07:42

标签: node.js gulp bundling-and-minification

我有gulp任务脚本如下,

// loads various gulp modules
var gulp = require('gulp');
var concat = require('gulp-concat');
var minifyCSS = require('gulp-minify-css');
var autoprefixer = require('gulp-autoprefixer');
var rename = require('gulp-rename');

// create task
gulp.task('css', function(){
    gulp.src('src/css/**/*.css')
        .pipe(minifyCSS())
        .pipe(rename('style.min.css'))
        .pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9'))
        .pipe(gulp.dest('dist/css'))
});

如何将src / css中的所有css文件缩小为单个文件as dist / css / style.min.css?

2 个答案:

答案 0 :(得分:81)

你的gulp任务缺少concat管道。

gulp.src('src/css/**/*.css')
    .pipe(minifyCSS())
    .pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9'))
    .pipe(concat('style.min.css'))
    .pipe(gulp.dest('dist/css'))

这是一个关于gulp构建的非常好的教程:

http://www.smashingmagazine.com/2014/06/11/building-with-gulp/

答案 1 :(得分:0)

我认为最好使用cleancss gulp插件。

const cleanCSS = require('gulp-clean-css');  // npm install gulp-clean-css --save-dev

gulp.task('css', () => {

return gulp.src('assets/styles/*.css')
  .pipe(cleanCSS({
      debug: true,
      compatibility: 'ie8',
      level: {
          1: {
              specialComments: 0,
          },
      },
  }))
  .pipe(autoprefixer({
      browsers: ['last 2 versions'],
      cascade: false
  }))
  .pipe(rename({
      basename: 'main-styles',
      suffix: '.min',
  }))
  .pipe(gulp.dest('dist/assets/styles/'))

});