管道时防止中间罗盘文件输出

Prevent intermediate compass file output when piping

我正在使用 gulp-compass 编译 scss 文件。但是,我将输出连接到一个文件中。

一切正常,但我注意到罗盘本身正在将各个文件写入输出目录。

我只剩下单独的文件,以及串联的结果。

有什么方法可以防止中间输出吗?

gulp.task('compass:dev', function() {
    return gulp.src(appPath + '/**/*.scss')
        .pipe(plugins.compass({
            css: distPath + '/css',
            sass: appPath
        }))
        .pipe(plugins.concat('app.css'))
        .pipe(gulp.dest(distPath + '/css'));
});

如前所述,gulp-compass 已被 Gulp 开发人员列入黑名单,因为它违反了一些已建立的 "plugin rules"(例如:您必须重新定义输入和输出) .这意味着你真的、真的不应该使用它。但是,gulp-ruby-sass 作为允许您使用指南针导入的选项。考虑一下:

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

gulp.task('compass:dev', function() {
    return sass(appPath + '/**/*.scss', { compass: true})
        .pipe(plugins.concat('app.css'))
        .pipe(gulp.dest(distPath + '/css'));
});

根据您的设置,仍然可能会有中断。