Sass oder Kompass ohne Rubin?


102

Gibt es eine Möglichkeit, Sass oder Compass oder ähnliches ohne Ruby zu verwenden?

Ich habe mich bei Google und dieser Website umgesehen und kann nichts finden. Jede Hilfe wäre willkommen. Danke dir



3
Ist das eine echte Frage? Ich meine, es ist unklar, was du meinst. Gibt es andere CSS-Vorprozessoren, die sich nicht auf Ruby verlassen? Ja. Gibt es eine Möglichkeit, Sass ohne Ruby zu kompilieren? Hängt davon ab. Wir brauchen mehr Hintergrund.
Jamund Ferguson

Sie geben jedoch nicht an, in welche Sprache der Parser geschrieben werden soll.
Alejandro García Iglesias

1
Gibt es eine Möglichkeit, eine vorkompilierte Version herunterzuladen?
William

Antworten:


53

Sass wurde ursprünglich für Ruby geschrieben, aber jetzt haben sie libSass erstellt , einen C/C++Port der Sass-Engine, der die Integration der Engine in eine IDE oder eine andere Sprache erleichtert. Zu diesem Zeitpunkt können Sie die Sass-Engine in Ruby, Node.js , Python , PHP , Java , .NET und anderen verwenden. Weitere Informationen finden Sie unter libSass . Außerdem verfügt Ihre IDE möglicherweise über ein Plugin, das Sass unterstützt, ohne dass Ruby mithilfe von libSass erforderlich ist.

Die ursprüngliche Antwort unten kann auf Ihre Situation zutreffen oder nicht (hängt davon ab, ob Ihre Sprache die Unterstützung für libSass implementiert hat oder nicht). Ich habe mich aus Archivgründen entschlossen, es so zu belassen, wie es ist.


Sass (benötigt Ruby)

Sass ist in Ruby geschrieben, daher muss auch Ruby installiert sein. Entnommen von Sass 'Seite

Kompass (erfordert Ruby, da es auf SASS basiert)

Compass ist ein Open-Source-CSS-Authoring-Framework, das die Sass-Stylesheet-Sprache verwendet, um das Schreiben von Stylesheets leistungsstark und einfach zu gestalten. Entnommen von der Kompassseite

Weniger (in js geschrieben, erfordert node.js oder less.js auf der Seite)

WENIGER erweitert CSS um dynamisches Verhalten wie Variablen, Mixins, Operationen und Funktionen. WENIGER läuft sowohl auf der Clientseite (Chrome, Safari, Firefox) als auch auf der Serverseite mit Node.js und Rhino. Entnommen von Less's Seite

Dies sind die Hauptprozessoren da draußen, die ich kenne. Sie können Ihren eigenen Parser / Port für eine andere Sprache Ihrer Wahl schreiben.

Mit anderen Worten, nein, Sie können Sass / Kompass nicht ohne Ruby verwenden, da das Programm selbst (Sass & Kompass) in Ruby geschrieben ist. Sie werden es also definitiv brauchen, um es auszuführen.


Dies ist technisch korrekt, aber nicht wirklich auf den Punkt gebracht, da verschiedene Plugins dies für Sie erledigen können. In Visual Studio gibt es beispielsweise das Mindscape Workbench-Plugin mit einer eigenständigen Ruby-Umgebung, über die Sie sich keine Sorgen machen müssen. Es wird jedoch keinen Kompass für Sie enthalten, was eine Art Wermutstropfen ist.
George Mauer

@ TroyCosentino oder Stylus
Alejandro García Iglesias

Nein, ich habe nicht versucht, ähnliche Compiler in anderen Sprachen zu finden. Sie sollten in der Lage sein, eine Kompilierung von Grund auf in so ziemlich jeder anständigen Sprache zu schreiben, aber das wird höchstwahrscheinlich viel Zeit in Anspruch nehmen. Zuerst müssen Sie in der Lage sein, das CSS zu analysieren (und Fehler in der CSS-Syntax zu erkennen), und dann müssen Sie das CSS "kompilieren" (was meistens neu formatiert wird - dh der CSS-Code besteht aus einer Zeile). Danach möchten Sie höchstwahrscheinlich mehrere CSS mit Vererbung hinzufügen. Wenn Sie das Gefühl haben, Zeit zu haben, können Sie es versuchen und das Ergebnis mit uns teilen :)
tftd

1
WENIGER ist auch nativ in .NET mit dem dotLESS NuGet-Paket möglich.
David Boike

27

Es ist wahr, dass die Frage nicht klar genug ist, aber ich werde versuchen, einige Probleme anzusprechen. Es gibt andere CSS-Vorprozessoren, die sich nicht auf Ruby verlassen (zwei, die mir gerade in den Sinn kommen , sind Less , die ich verwendet und gemocht habe, aber nicht so leistungsfähig wie Sass, und Stylus , die ich nicht verwendet habe). beide basieren auf JavaScript), aber da Sie speziell nach Sass + Compass fragen und ich immer noch nach der gleichen Antwort suche, werde ich darüber sprechen.

@ JamundFerguson sagte:

Gibt es eine Möglichkeit, Sass ohne Ruby zu kompilieren? Hängt davon ab.

Es gibt

Sass ist eine Vorverarbeitungssprache. Es gibt einen in Ruby eingebauten Compiler und jeder kann einen Compiler in jeder Sprache schreiben. Es gibt eine C-Implementierung eines Sass-Compilers namens libsass , die in jeder Sprache verwendet werden kann, in der C- Bibliotheken importiert werden können. Es ist die Bibliothek von Node-Sass , einem in Node.js integrierten Compiler , den ich noch nicht ausprobiert habe und nicht weiß, wie es funktionieren könnte und ob es für die Produktion bereit ist. Es kann eine Frage der Zeit sein, bis Compass portiert ist (vielleicht machen Sie das am Ende?), Und so können wir einen Compiler haben, der nicht vom Ruby-Juwel abhängt (derzeit gibt es ein Node-Compass- Modul, auf das man sich verlässt der Rubin Edelstein).

Andere Sprachen

Bisher habe ich die Möglichkeit für einen Node.js-Compiler erwähnt, bei dem es sich, wie Sie vielleicht wissen, um eine JavaScript-Umgebung handelt, die die Sprache des Webs und meine bevorzugte Sprache ist. Sie haben jedoch nicht angegeben, in welche Sprache der Compiler geschrieben werden soll. Ich denke, es gibt möglicherweise Compiler, die in vielen Sprachen erstellt wurden, zum Beispiel hat @EricMeyer einen Python- Compiler erwähnt. Vielleicht benutzt er pyScss ? Das scheint eine integrierte Unterstützung für Compass zu haben. Aber dann brauchen Sie eine Python-Umgebung. Die Sache ist also: Sie benötigen eine Umgebung für einen Compiler, es sei denn, Sie führen nativ kompilierte Binärdateien aus. (Less hat less.js, die auf der Seite enthalten sein können, um clientseitig ausgeführt zu werden und den Kompilierungsschritt zu vermeiden, aber nicht für die Verwendung in der Produktion gedacht.)

Native Apps

Ich habe ein Jahr mit CodeKit gearbeitetKompiliert Sass / Compass, Less, Stylus und Vorlagensprachen wie Haml, Slim, Jade usw. Erstellt Ihre Assets neu, wenn sie sich automatisch ändern und Sie die Änderungen sofort in Ihrem Browser sehen. Das einzige, was mir nicht gefallen hat, war, dass ich beim Wechsel auf einen anderen Computer, bei der Installation von CodeKit, beim Auschecken des Projekts und beim Versuch, es zu verwenden, die Projekteinstellungen neu konfigurieren musste, an die ich mich erinnern musste, damit ich zu einem Build gelangen konnte wie der, den ich auf dem anderen Computer gemacht habe. Außerdem habe ich angefangen, mit einem Team zu arbeiten, und sie mussten das Projekt mit denselben Einstellungen konfigurieren (manchmal führte die fehlende Projektkonfiguration zu hässlichen Inkonsistenzen), und auch Mitglieder des Teams, die Ubuntu verwendeten, konnten es nicht verwenden. Das'sofort und verliebte sich in sie. Wie @Dave erwähnt hat, gibt es Scout und auch LiveReload , aber ich habe sie nicht verwendet.

Fazit

Fazit ist, ich habe keine starke Schlussfolgerung. Ich bin immer noch auf der Suche nach der gleichen Antwort, aber ich hoffe, diese Antwort gibt ein wenig Aufschluss über den Status des Kompilierens von Sass / Compass außerhalb der Ruby-Umgebung.


1
Für den Status von libsass: solitr.com/blog/2014/01/state-of-libsass , von dem Node-Sass und andere Sass-Bibliotheken abhängen.
Ehtesh Choudhury

27

Tatsächlich gibt es eine Bibliothek, die Node.js für libsass, die C-Version von Sass, bindet: https://npmjs.org/package/node-sass

Sie können .scss-Dateien nativ mit unglaublicher Geschwindigkeit zu CSS kompilieren, ohne dass Ruby installiert ist.

Zum Installieren einfach ausführen:

npm install node-sass

Bei Bedarf gibt es auch eine Grunt-Erweiterung: https://github.com/sindresorhus/grunt-sass (das habe ich in dieser Frage gesucht)

Weitere Informationen finden Sie unter: https://github.com/andrew/node-sass


1
Grunz-Sass war das, wonach ich suchte.
9ilsdx 9rvj 0lo

11

Nur ein kleines Update dazu: Sie können SCSS / SASS-Dateien verwenden und die richtigen Dateien im laufenden Betrieb generieren, ohne Ruby mit einem Programm namens Scout zu installieren.

Scout verfügt über eine eigenständige Ruby-Umgebung und ist in Java codiert. Stellen Sie daher vor der Verwendung sicher, dass Java auf dem neuesten Stand ist. Linky hier.

Grüße :)


8
Ich würde lieber über Java rubinrot;)
Basarat

Momentan schreibe ich, dass dieser Scout Adobe Air verwendet. Vielleicht hat eine alte Version Java verwendet?
Bilderstürmer

3
immer noch rubinrot besser als Luft :)
x0x



2

Adobe Brackets (kostenlos, Open Source) können LESS, SASS und Stylus kompilieren, wenn die Dateien geändert werden, und Stile während der Live-Vorschau aktualisieren. Sie müssen lediglich die erforderlichen Erweiterungen über den Erweiterungsmanager installieren. Holen Sie sich Brackets und genießen Sie!

Bearbeiten: Wie andere Fragen vermuten lassen, ist Node-Sass auch eine gute Option, wenn NodeJS bereits installiert sind.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.