Es gab lange Zeit mehrere Implementierungen von Sass. Am bekanntesten ist die kanonische Ruby-Version, jetzt bei 3.5.6. Dann gibt es LibSass, die C++-Version, die sich in Version 3.4 befindet und…
Current LibSass 3.4 sollte mit Sass 3.4 kompatibel sein.
LibSass ist bemerkenswert, da es die Mehrheit der Sass-Ports antreibt. Über 30 davon, anscheinend, einschließlich des beliebtesten: node-sass, das Sass für die Abermillionen von Projekten bereitstellt, die eine npm-basierte JavaScript-Entwicklungsumgebung betreiben und die Ruby-Abhängigkeit vermeiden wollen.
Es ist ein wenig bedauerlich, dass LibSass nicht auf dem neuesten Stand des aktuellen kanonischen Sass ist, aber ich denke, es ist eingefroren, da erklärt wurde, dass LibSass niemals kanonisches Sass sein wird. Update: Es ist nicht eingefroren. Tatsächlich war Ruby Sass früher eingefroren mit der Absicht, LibSass aufholen zu lassen. Während ich schreibe, ist LibSass bei 3.5.2, also ist es nah dran.
Dart Sass hat gerade 1.0.0 erreicht und ist nun 100 % kompatibel mit Ruby Sass 3.5.6. Sie haben angekündigt, dass Ruby Sass nun mit der Ausmusterung begonnen hat und – nach dem 26. März 2019 – nicht mehr gewartet wird.
Die Zukunft von Dart Sass sieht ziemlich gut aus
Eine weitere große Ankündigung: Ab heute arbeite ich Vollzeit an @SassCSS. Dies war ein Ziel meiner gesamten Karriere und ich bin begeistert, dass es endlich geschieht
— Blue Gay Carmen San Diego (@nex3) 3. April 2018
Die Dart Sass-Kompatibilität ist ebenfalls großartig, da node-sass jetzt auf Dart Sass-Bindings umsteigen und vollständig auf dem neuesten Stand sein kann. Wird es das? Ich habe keine Ahnung. Der Maintainer von LibSass und node-sass ist dieselbe Person (Michael Mifsud), und bei über 30 Bindings zu LibSass kann ich mir nicht vorstellen, dass LibSass einfach verschwindet. Ich schätze, wir müssen einfach abwarten. Ich muss mir vorstellen, dass jemand sich darum kümmert, eine Node-Version von Dart Sass auf die eine oder andere Weise zu erstellen.
Ich persönlich würde gerne eine Web Worker-Version sehen.
Ich schätze, es ist noch am Anfang, aber Dart Sass ist für Anfänger in der Frontend-Webentwicklung nicht ganz so einfach einzurichten wie Ruby Sass.
Die neue Sass-Installationsseite listet nicht mehr den Ruby-Weg zur Installation auf, sondern nur die verschiedenen Wege zur Installation von Dart Sass (ohne GUI-Tools). Dart Sass kann in seiner aktuellen Form nicht einmal Dateien über einen einfachen Befehlszeilenbefehl wie Ruby Sass überwachen.
Ich bin sicher, dass die Sass-Leute in den nächsten 12 Monaten die Fehler beheben werden. Ich wünschte nur, sie hätten gewartet, bis die Verwendung von Dart Sass so einfach ist wie die Verwendung von Ruby Sass, bevor sie ihre Installationsanweisungen geändert haben.
Ich bringe Anfängern bei, wie man Sass benutzt, und je einfacher es zu starten ist, desto besser. Ich erkenne, dass dies für erfahrene Entwickler kein Problem darstellt, da sie sowieso ein Build-Tool mit Watch-Funktionalität verwenden werden, aber für Anfänger, die neu in der Entwicklung sind und einfach nur eine Webseite mit minimalem Aufwand und Installation zum Laufen bringen wollen, kann es eine Herausforderung sein. Mit Ruby Sass konnten sie einfach „gem install sass“ (zumindest auf einem Mac) und „sass --watch input:output“ ausführen und loslegen.
Auf Wiedersehen Ruby Sass, ich werde dich vermissen!
LibSass- und Node Sass-Maintainer hier. Ein paar bemerkenswerte Ergänzungen
LibSass ist seit einiger Zeit bei 3.5-Kompatibilität, und diese Funktionen sind in den neuesten Node Sass-Releases für alle verfügbar.
Ruby Sass, nicht LibSass, war zuvor auf Feature-Freeze, um LibSass aufholen zu lassen.
Wir arbeiten aktiv an den kommenden 3.6-Funktionen, von denen einige bereits implementiert sind. Wir untersuchen auch eine reine Web Assembly-Implementierung, weil wir riesige Fans des Webs sind :D
Und deshalb denke ich, dass die Konzentration auf die Grundlagen einer Technologie anstelle von Wrappern die beste langfristige Lösung ist. Bedenken Sie, wie viele Dinge Google im Laufe der Jahre eingestellt hat, auf die wir uns verlassen haben, doch die Kern-Webtechnologien von vor 20 Jahren funktionieren fast alle noch.
Ich kann nicht herausfinden, wie man es einrichtet. Ich habe die ZIP-Datei heruntergeladen und entpackt und meine Pfadvariable bearbeitet, aber weder `sass` noch `dart-sass` werden in der Konsole erkannt. Ich dachte, ich müsste vielleicht die Batch-Datei ausführen, aber das hat nichts geändert, die Befehle aus dem Ordner heraus ausgeführt, immer noch nichts.
Ich hatte das gleiche Problem. Sie müssen sicherstellen, dass Ihr Pfad nur zum Ordner „dart-sass“ führt und NICHT zur Datei „src“ innerhalb dieses Ordners. Das war mein Fehler. Sobald ich sichergestellt hatte, dass der Pfad nur zum Ordner „dart-sass“ führte, funktionierte es einwandfrei.
Danke Michael, es funktioniert jetzt.
Ja, ich kann nicht herausfinden, wie ich es dazu bringe, meine SCSS-Dateien zu „watch“/kompilieren und in meine CSS-Datei zu übertragen. Ruby war so einfach. Wenn jemand weiß, wie es geht, lassen Sie es mich bitte wissen!
Ja, laut diesem Beitrag (http://sass.logdown.com/posts/7081811) im Sass-Blog wird der Befehl --watch ab sofort nicht mehr mit Dart Sass unterstützt, aber sie sagen, es hat hohe Priorität, ihn hinzuzufügen.
Deshalb verstehe ich nicht, warum sie derzeit (heute – 18. April 2018) Dart Sass als offiziellen Weg zur Installation von Sass auf der Sass-Lang-Website auflisten (wenn Sie auf den Installationslink in der Hauptnavigation klicken, wird Ihnen empfohlen, Dart Sass zu verwenden), obwohl Dart Sass noch nicht einmal einen einfachen --watch-Befehl hat. Das wird Leute, die neu bei Sass sind, verwirren. Warum haben sie nicht gewartet, bis sie einen --watch-Befehl erstellt hatten, bevor sie die Website änderten, um Dart Sass als offiziellen Weg zur Installation von Sass aufzulisten.
Um es klarzustellen: Sie können Sass-Dateien natürlich über die Befehlszeile in CSS-Dateien kompilieren, indem Sie Dart Sass verwenden. Sie müssen lediglich jedes Mal den Kompilierungsbefehl manuell eingeben, wenn Sie kompilieren möchten, was normalerweise keine sehr produktive Arbeitsweise ist. Laut der Dokumentation gibt es meiner Meinung nach auch keine Möglichkeit, einen ganzen Ordner mit Sass-Dateien zu kompilieren. Sie müssen jede Sass-Datei einzeln kompilieren, wenn Sie mehr als eine Haupt-Sass-Datei haben (abgesehen von Teil-Dateien, die in eine Haupt-Sass-Datei importiert werden).
SO frustrierend! Wie kompiliere ich es also?