2016-05-10 36 views
8

Czy jest jakaś opcja dostępna w gulp-sass do łączenia plików sass?Połączyć wszystkie pliki sass w jednym pliku

Na przykład:

main.scss:

$var: red; 

control.scss:

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

Połączone plik wyjścia powinien być pojedynczy plik SCSS jak poniżej

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

Byłoby to bardzo przydatne dla bibliotek komponentów, zamiast dostarczania tylko skompilowanego pliku .css. –

Odpowiedz

6

Czy próbowałeś czegoś takiego?

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/')); 
}); 

ten powinien produkować połączonej SCSS w ./dist/all.scss.

ja nie wiem, czy @import oświadczenia są obsługiwane poprawnie, ale te kwestie są zwykle obsługiwane przez ad-hoc moduły (np gulp-sass), które produkują wyjście .css ...

+0

dzięki za aktualizację. Twój kod został skompilowany jako plik css, ale wynik powinien być oczekiwanym plikiem SCS. –

+0

Przepraszam: dlaczego chcesz 'scss' na wyjściu? Zwykle chcesz wypisać css publicznie ... – MarcoS

+0

Tak, mogę pobrać plik css w miejscu docelowym, ale muszę również dostarczyć plik scss, aby mógł ręcznie edytować i kompilować je. –

-1

Ty Musimy wykonać jeden plik, który importuje wszystkie inne pliki scss, ale kiedy słuchasz zmian, musisz wysłuchać zmian wszystkich plików w katalogu scss.