如何在连接后缩小css?使用Gulp时的问题

时间:2015-12-15 10:54:41

标签: css gulp gulp-uglify

我在gulp中使用以下任务来连接一些CSS文件。

脚本运行正常,我可以获得一个独特的文件" app-flat.css"与所有CSS。 但我无法缩小" app-flat.css"使用以下行

.pipe(minifyCss()) 

我需要缩小concat" app-flat.css"的结果。

你能告诉我我的剧本有什么问题吗? 我应该将.pipe(minifyCss())作为最后一个进程吗?

var gulp = require('gulp');
var gutil = require('gulp-util');
var connect = require('gulp-connect');
var open = require('open');
var jscs = require('gulp-jscs');
var jshint = require('gulp-jshint');
var stylish = require('gulp-jscs-stylish');
var sloc = require('gulp-sloc');
var complexity = require('gulp-complexity');

var stylus = require('gulp-stylus');
var nib = require('nib');
var concat = require('gulp-concat');
var header = require('gulp-header');
var fs = require('fs');
var merge = require('merge-stream');
var minifyCss = require('gulp-minify-css');
var gp_uglify = require('gulp-uglify');
    gulp.task('theme-flat', function () {
        gulp.src([
            'themes/a/a.css',
            'themes/b/b.css'])
          .pipe(concat('app-flat.css'))
          .pipe(minifyCss())  // problem here
          .pipe(header(fs.readFileSync('copyright.txt', 'utf8')))
          .pipe(gulp.dest('themes/flat/'));
    });

注意:我可以使用其他缩小器,例如uglify或其他缩略器,因为我不仅限于gulp-minify-css

2 个答案:

答案 0 :(得分:2)

你应该添加concat管道:

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

答案 1 :(得分:0)

我想,如果我错了,请叫我。在创建app-flat.css文件后,您正在尝试缩小文件。在管道pipe

之前,您需要concat通过它
   gulp.task('theme-flat', function () {
        gulp.src([
            'themes/a/a.css',
            'themes/b/b.css'])
          .pipe(minifyCss())  // before you concat you're file
          .pipe(header(fs.readFileSync('copyright.txt', 'utf8')))
          .pipe(concat('app-flat.css'))
          .pipe(gulp.dest('themes/flat/'));
    });