2016-05-10 10 views
8

gass-sassでsassファイルを結合するオプションはありますか?すべてのsassファイルを1つのファイルにまとめる

main.scss:

$var: red; 

control.scss:

@import 'main'; 
.a{ 
    color: $var; 
} 

結合された出力ファイルがあるべき単一SCSSファイル

以下のような例えば

$var: red; 
.a{ 
    color: $var; 
} 
+0

これは、コンパイル済みの.cssファイルのみを提供するのではなく、コンポーネントライブラリにとって本当に便利です。 –

答えて

6

あなたはこれを試しましたか?

gulp = require('gulp'); 
concat = require('gulp-concat'); 

// the default task 
gulp.task('default', function() { 
    return gulp.src('./*.scss') 
     .pipe(concat('all.scss')) 
     .pipe(gulp.dest('./dist/')); 
}); 

これは、./dist/all.scssに1つの結合scssを生成するはずです。

@import文が正しく処理されている場合、私は知りませんが、これらの の問題は、通常で処理されアドホックモジュール.css出力を生成する(例えば、gulp-sass)、...

+0

ありがとうございます。あなたのコードはCSSファイルとしてコンパイルされますが、出力は私が期待するscssファイルでなければなりません。 –

+0

申し訳ありません:あなたはなぜ 'scss'を出力したいですか?あなたは通常、公衆にCSSを出力したいです... – MarcoS

+0

ええ、私は宛先でCSSファイルを得ることができますが、彼らは手動で編集し、自分自身をコンパイルできるように、また、scssファイルを提供する必要があります。 –

-1

ます他のすべてのscssファイルをインポートする1​​つのファイルを実行する必要がありますが、変更をリスンするときは、scssディレクトリ内のすべてのファイルの変更をリッスンする必要があります。

gulp.task('sass', function() { 
     // You have to execute one file that import all other scss files 
     return gulp.src('src/scss/*.scss') 
       .pipe(sass()) 
       .pipe(gulp.dest('build/css')); 
    }); 



gulp.task('watch', function() { 
     // You have to listen the all files in the scss directory 
     gulp.watch('src/scss/**/*.scss',['sass']);  
    }); 
関連する問題