繁体   English   中英

使用Gulp缩小CSS

[英]Minify css using Gulp

我只需要缩小版本的“ app.scss”,现在我将所有三个SCSS文件都转换为“ .min”文件。 请帮忙

var gulp = require('gulp');
var sass = require('gulp-sass');
var rename = require('gulp-rename')

gulp.task('sass', function(){
    return gulp.src(['scss/style.scss', 'scss/variable.scss', 'scss/app.scss'])
    .pipe(sass())
    .pipe(gulp.dest('css'))
    .pipe(sass({outputStyle:'compressed'}))
    .pipe(rename({suffix:'.min'}))
    .pipe(gulp.dest('css'))
});

您当前正在使用相同的compressed设置将所有三个文件通过管道传输到同一sass管道。 有多种解决方案,包括:

  • 使用gulp-if选择性地对sass进行非压缩调用
  • 创建不同的流并使用merge-stream作为任务的合并结果返回它们

发生的事情是您在单个源Blob上运行所有命令。 这将导致所有操作都在同一组文件上执行。 您需要的是将一个命令输出到另一个命令。 通过为每个操作编写一个单独的task ,这也是正确的方法。

使用序列插件一个接一个地执行任务,并使用另一个gulp.src获取组合文件。 像这样:

gulp.task('sass', function(){
    // Compile Sass
    return gulp.src(['scss/style.scss', 'scss/variable.scss', 'scss/app.scss'])
    ... bla bla ...

});

gulp.task('minify', function(){
    // Minify
    return gulp.src(['app.scss'])
    ... bla bla ...
});

gulp.task('all', function(cb){
    gulpSequence(['sass', 'minify'], cb);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM