Podczas tworzenia nowego projektu z CLI (v3.7.0), istnieje możliwość wyboru między dart-sass
lub node-sass
kompilatorem.
Jak to się ma do siebie, by być bardziej szczegółowym niż deklarowane w dokumentach Vue ?
Wskazówka dotycząca wydajności Sass
Należy pamiętać, że podczas korzystania z Dart Sass kompilacja synchroniczna jest domyślnie dwukrotnie szybsza niż kompilacja asynchroniczna, ze względu na obciążenie związane z asynchronicznymi wywołaniami zwrotnymi. Aby uniknąć tego narzutu, można użyć pakietu Fiber do wywoływania importerów asynchronicznych ze ścieżki kodu synchronicznego. Aby to umożliwić, po prostu zainstaluj włókna jako zależność projektu:
npm install -D fibers
Należy również pamiętać, że jest to moduł natywny, mogą wystąpić problemy ze zgodnością w zależności od systemu operacyjnego i środowiska kompilacji. W takim przypadku uruchom,
npm uninstall -D fibers
aby rozwiązać problem.
? Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default): (Use arrow keys)
❯ Sass/SCSS (with dart-sass)
Sass/SCSS (with node-sass)
Less
Stylus
EDYCJA 2020/01: Vue CLI 4.2.2 tworzenie nowego projektu nadal sugeruje dart-sass
jako pierwszą opcję wcześniej node-sass
. Jednak ustalono, że node-sass
jest to bardziej skuteczny wybór i prawie nikt nie używa dart-sass (komentarz ccleve).
EDYCJA 2020/09: Ponieważ Ali Bahrami zaktualizował swoją obszerną odpowiedź, dart-sass
jest preferowanym wyborem, ponieważ node-sass
jest oznaczony jako przestarzały .
Szkoda, dart-sass
że wersja skompilowana w JS ma słabą wydajność. Jednak jego programiści są tego świadomi i pracują nad większą wydajnością, jak opisano w tym numerze .
Odpowiedzi:
Aktualizacja 17.09.2020 :
Ponieważ ta odpowiedź zbiera się każdego dnia, pomyślałem, że może warto zagłębić się w ten temat.
Biorąc pod uwagę stronę internetową sass-lang :
Dart-Sass jest szybki, ale nie jest wersją skompilowaną w JS . Praktycznie, gdy mówimy Dart-Sass, istnieją dwie opcje:
Skompilowałem plik Bootstrap 4 Sass do CSS z Node-Sass, Dart-Sass i Dart-Sass (JS) i możesz zobaczyć następujący wynik:
I blogu o tym tutaj można przeczytać więcej na ten temat tutaj.
źródło
dart-sass
to, że jest szybszy?node-sass może być szybszy niż dart-sass, ale w chwili pisania tego dart-sass jest jedyną biblioteką, która implementuje
@use
regułę, co jest zdecydowanie zalecane@import
. Według oficjalnej strony internetowej Sass-Lang :Ponadto w ciągu najbliższych kilku lat
@import
będzie stopniowo wycofywany , a ostatecznie całkowicie usunięty z języka.Aby być na bieżąco z najlepszymi praktykami w Sassie, powinieneś na razie używać dart-sass (tj. Sass ).
źródło
@use
na ten wydaje się, że może to radykalnie poprawić czas odbudowy dzięki przyrostowym kompilacjom podczas tworzenia programu :)