denkwerk TechTalk

SASS (Syntactically Awesome Stylesheets)

„Es gibt ein Migrationstool, das hilft, alte Projekte auf die neueste Version von SASS zu bringen und dabei @use und @forward zu verwenden.“

Špela Slivšek Developer bei denkwerk

@import wird abgelöst

Špela weiß: Der größte Nachteil der alten @import-Regel ist, dass sie nicht zielgerichtet eingesetzt werden kann. Dies kann Schwierigkeiten verursachen, weil nicht nur die Reihenfolge der Calls relevant ist, sondern Styles auch einfach überschrieben werden: Tritt ein Fehler auf, ist es für Entwickler größerer Projekte dadurch oft schwierig, die Ursache herauszufinden.

Für mehr Effizienz in der Entwicklung: @use und @forward

Nicht so mit den SASS-Regeln @forward und @use: Beide isolieren die Quelle des Codes deutlich besser, erlauben zielgerichtetere Importe, da sie jede Quelldatei als isoliertes Modul betrachten – und sorgen dadurch letztlich für mehr Effizienz und Übersichtlichkeit im Code sowie eine Erleichterung beim Debugging.

Viele SASS-Entwickler greifen inzwischen vor allem zu @use als „Schweizer Taschenmesser“. Dies ist laut Špela aber nicht immer sinnvoll:

„@use kann sowohl genutzt werden, um Variablen, Mixins und Funktionen als auch Styling-Regeln zu importieren, allerdings kann das Performance-Probleme bei der Kompilierung verursachen.“

Špela Slivšek Developer bei denkwerk

Gerade bei größeren Projekten kann also die Verwendung von @forward einen positiven Einfluss auf die Build-Performance haben. Um den Übergang möglichst einfach zu machen, kann @forward das alte @import weitestgehend ersetzen.

Vorsicht allerdings bei der Verwendung des Migrationstools: „Das Migrationstool kann knifflig sein“, warnt Špela. „Ich hatte bei einem Projekt in jeder Zeile Fehler“. Die Ursache liegt in mangelhafter Erkennung individueller Programmierstile, wodurch letztlich Leerzeichen Fehler verursachten. Eine manuelle Anpassung ist also nicht immer zu vermeiden.

Am Ende des Tages sorgt der Einsatz der modernen Regeln @forward und @use aber für einen deutlich effizienteren Einsatz des SASS-Codes und kann CSS-Programmierern das Leben deutlich erleichtern – und davon profitieren unsere Projekte.