2014-09-28 11 views
16

Dokładnie tak, jak mówi tytuł. Czas kompilacji powyżej 50 sekund jest niedopuszczalny. Czy istnieje sposób, powiedzmy: pojedynczy (częściowy) plik z magią kompasu (np. Sprite mixins itp.), A reszta plików z czystym sass?Używanie libsass z kompasem

Zastanawiam się nad przejściem do mniej (importowanie referencji) i zastąpieniem wszystkich trików kompasu dodatkowymi zadaniami, ale jestem bardziej komfortowy niż sass mniej.

Widziałem thosetickets, ale miałem nadzieję, że będzie to droga do kompilowania pojedynczego pliku z kompasem, a reszta zostać połączone z libsass (I czasami używać Sass składni 3.3, ale jeśli mogę uzyskać lepsze kompilacji razy ja może powrócić do 3.2).

Czy ktoś odniósł sukces w takiej konfiguracji?

+0

Czy istnieje powód, dlaczego nie przyjąć moją odpowiedź? – stffndtz

Odpowiedz

34

W naszym przypadku (> 100.000 LoCSS), możemy z powodzeniem przeniósł się z grunt-contrib-kompas kombinacji

grunt-sass

który korzysta libsass zamiast wersji ruby ​​i dostać wszystko magia z kompasem, zawarliśmy

compass-mixins

i to działało dobrze. Zdecydowanie powinieneś to wypróbować, skróciliśmy czas kompilacji z ponad 40 sekund do zaledwie 500-600 ms.


UPDATE 2

Oto moduł węzeł że automagicznie importuje lib mowa powyżej do swojego grunt środowisku:

https://github.com/haithembelhaj/compass-importer

UPDATE

Tworzenie portu do libsass jest jasne y w umyśle twórców: https://github.com/Compass/compass/issues/1916

+0

Yup, to kierunek, w którym zmierzam. Chociaż rzeczy takie jak sprite generacja mają [do zastąpienia innymi narzędziami] (https://github.com/guardian/frontend/tree/master/tools/sprites) – Misiur

+1

Całkowicie zdmuchnęło mój umysł, kiedy to zadziałało dla mnie, z dosłownie bez zmian inne niż usuwanie kompasu i uzyskiwanie 5 sekund wstecz w zakresie kompilacji. – cnp

+11

Awansuj na biedną duszę, która musi utrzymywać 100 tys. Linii z 40 sekundami kompilacji. – Sam152

1

To jest odpowiedź dla plików sass (nie scss). Proszę zawsze odróżnić je

  1. Uruchom w skorupkach bower install compass-sass-mixins
  2. edytować plik Sass @import "bower_components/compass-sass-mixins/lib/compass"

lub

  1. Run skorupek npm i compass-sass-mixins
  2. edytować plik Sass @import "node_modules/compass-sass-mixins/lib/compass"

Lista funkcji: https://github.com/askucher/compass-sass-mixins

+2

Nie ma znaczenia, którego rozszerzenia plików używasz, działa dla obu. – stffndtz