2017-10-30 11 views
1

1つのフォルダ内のすべてのscssファイルを個別のcssファイルに処理するgulpタスクを作成しました。Gulp:ファイルをそれぞれ別々のSassプロセスに連結します

gulp.task('process', function() { 
    gulp.src(['./base.scss', './layout/*.scss']) 
    .pipe(sass()) 
    .pipe(gulp.dest('dist')) 
}); 

今、私は、各scssプロセスに一つのファイル(base.scss)を連結します。これどうやってするの?

+0

したがって、sass()パイプの前にbase.scssを各.scssファイルに連結しますか? – Mark

+0

@マーク正確.. –

+0

@FaridRn - あなたはなぜこれをやっていたのだろうか?私の生成されたCSSは現在のところ大きくて、どんなscssファイルが最大の重みを追加しているのかを調べようとしています。私は、各scssファイルからCSSを作成し、サイズを確認することを考えていました。少しでも喜んで上記と以下を試してみました。 – v3nt

答えて

0

これは役に立ちますが、テストしませんでした。 Gulp-foreachはあなたには良いことですが、gulp.srcの各ファイルを別々に操作できる独自のストリームとして扱います。下のコードは、あなたのbase.scssを各ストリームに追加し、それらを連結してから、パイプを通過します。

var foreach = require('gulp-foreach'); 
var concat = require('gulp-concat'); 
var addsrc = require('gulp-add-src'); 

gulp.task('default', function() { 
    return gulp.src('./layout/*.scss') 
     // treats each file in gulp.src as a separate stream 
    .pipe(foreach(function (stream, file) { 
     return stream 
     // append or prepend 
     .pipe(addsrc.append('./base.scss')) 
     // you do have access to the 'file' parameter here if you need to rename 
     .pipe(sass()) 
     .pipe(concat(path.basename(file.path))) 
     .pipe(gulp.dest('dist')); 
    })); 
}); 

あなたに適しているかどうか教えてください。

+0

私は 'gulp-foreach'でやったけど' foreach'では 'dest 'を使って' src'のパイプには使わず、あなたの答えを編集しました。私のことを怒って! –

関連する問題