Parsen eines Stylesheets

Ein Sass-Stylesheet wird aus einer Sequenz von Unicode-Codepunkten geparst. Es wird direkt geparst, ohne vorher in einen Token- Stream konvertiert zu werden.

EingabekodierungEingabekodierung Permalink

Kompatibilität
Dart Sass
LibSass
Ruby Sass

Dart Sass unterstützt derzeit *nur* die UTF-8-Kodierung. Daher ist es am sichersten, alle Sass-Stylesheets als UTF-8 zu kodieren.

Oft ist ein Dokument zunächst nur als Byte-Sequenz verfügbar, die in Unicode dekodiert werden muss. Sass führt diese Dekodierung wie folgt durch:

  • Wenn die Byte-Sequenz mit der UTF-8- oder UTF-16-Kodierung von U+FEFF BYTE ORDER MARK beginnt, wird die entsprechende Kodierung verwendet.

  • Wenn die Byte-Sequenz mit der reinen ASCII-Zeichenkette @charset beginnt, ermittelt Sass die Kodierung anhand von Schritt 2 des CSS-Algorithmus zur Ermittlung der Fallback- Kodierung.

  • Andernfalls wird UTF-8 verwendet.

Parse-FehlerParse-Fehler Permalink

Wenn Sass auf ungültige Syntax in einem Stylesheet stößt, schlägt das Parsen fehl und dem Benutzer wird ein Fehler mit Informationen über den Speicherort der ungültigen Syntax und den Grund für die Ungültigkeit präsentiert.

Beachten Sie, dass dies anders ist als bei CSS, das festlegt, wie die meisten Fehler behandelt werden, anstatt sofort abzubrechen. Dies ist einer der wenigen Fälle, in denen SCSS nicht *strikt* eine Obermenge von CSS ist. Es ist jedoch für Sass-Benutzer viel nützlicher, Fehler sofort zu sehen, anstatt sie in die CSS-Ausgabe durchlaufen zu lassen.

Auf den Speicherort von Parse-Fehlern kann über implementierungsspezifische APIs zugegriffen werden. In Dart Sass können Sie beispielsweise auf SassException.span zugreifen, und in der JS-API von Node Sass und Dart Sass können Sie auf die Eigenschaften file, line und column zugreifen.