2014-09-28 13 views
16

Genau wie der Titel sagt. Übersetzungszeiten über 50 Sekunden sind nicht akzeptabel. Also, gibt es einen Weg, sagen wir: eine einzelne (Teil-) Datei mit Kompassmagie (wie Sprite Mixins, etc.), und den Rest von Dateien mit reinem Hass?Verwendung von libsass mit Kompass

Ich überlege, auf weniger umzustellen (Referenzimport) und alle Kompasstricks durch zusätzliche Gruntaufgaben zu ersetzen, aber ich fühle mich wohler bei Sass als weniger.

sah ich thosetickets, aber ich hoffte, es würde ein Weg sein, um eine einzelne Datei mit Kompass zu kompilieren, und der Rest mit libsass verschmolzen werden (ich manchmal sass 3.3 Syntax verwenden, aber wenn ich besser mal kompilieren gewinnen kann ich kann zu 3.2) zurückkehren.

Hat jemand eine solche Konfiguration erreicht?

+0

Gibt es einen Grund, warum Sie meine Antwort nicht akzeptieren? – stffndtz

Antwort

34

In unserem Fall (> 100.000 LoCSS) erfolgreich wir von Grunzen-contrib-Kompass auf eine Kombination von

bewegt grunt-sass

, die anstelle der Ruby-Version wird mit libsass, und alle bekommen die Magie von Kompass, enthalten wir

compass-mixins

und es funktionierte gut. Sie sollten es auf jeden Fall ausprobieren, wir haben unsere Kompilierungszeit von mehr als 40 Sekunden auf nur 500-600 ms reduziert.


UPDATE 2

Hier ist ein Knotenmodul, das automatisch die lib oben in Ihre Grunzen Umgebung erwähnt importiert:

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

UPDATE

einen Port erstellen zu libsass ist klarl y auf die Schöpfer Geist: https://github.com/Compass/compass/issues/1916

+0

Ja, das ist die Richtung, in die ich gehe. Obwohl Dinge wie Sprite Generation [mit anderen Tools ersetzt werden] (https://github.com/guardian/frontend/tree/master/tools/sprites) – Misiur

+1

Absolut blies mir, wenn dies für mich funktionierte, mit buchstäblich keine Änderungen außer Kompass zu entfernen und 5 Sekunden zurück in Bezug auf die Kompilierzeit zu bekommen. – cnp

+11

Upvote für die arme Seele, die 100k Zeilen mit 40 Sekunden Compilation pflegen muss. – Sam152

1

Dies ist die Antwort für Sass-Dateien (nicht scss). Bitte immer unterscheiden sie

  1. Run in Schale bower install compass-sass-mixins
  2. Bearbeiten Sie Ihre sass Datei @import "bower_components/compass-sass-mixins/lib/compass"

oder

  1. Run in Schale npm i compass-sass-mixins
  2. Bearbeiten Sie Ihre sass Datei @import "node_modules/compass-sass-mixins/lib/compass"

Liste der Funktionen: https://github.com/askucher/compass-sass-mixins

+2

Es spielt keine Rolle, welche Dateierweiterung Sie verwenden, es funktioniert für beide. – stffndtz