Breaking Change: Default Exports
Standardmäßig erlaubt Node.js das Laden von CommonJS-Modulen aus ECMAScript-Modulen mit der Syntax import sass from 'sass'. Dies ist jetzt veraltet; ESM-Benutzer sollten stattdessen import * as sass from 'sass' verwenden.
Historisch gesehen war Dart Sass nur als CommonJS-Modul verfügbar. Das bedeutete, dass jeder, der es aus einem Projekt verwendete, das die native ECMAScript-Modulunterstützung von Node.js nutzte, es so laden konnte, als ob es einen Default-Export bereitstellen würde
import sass from 'sass'; // Don't do this anymore
Dies war nie vom Sass-Team beabsichtigt und entsprach nicht den mit dem Paket bereitgestellten Typdeklarationen, aber es hat funktioniert. Wir haben beschlossen, diese Unterstützung in Dart Sass 2.0.0 zu entfernen und von ECMAScript-Modul-Benutzern zu verlangen, nur die benannten Exports des Pakets zu verwenden
import * as sass from 'sass'; // Do this
ÜbergangszeitraumÜbergangszeitraum Permalink
- Dart Sass
- seit 1.54.0
- LibSass
- ✗
- Ruby Sass
- ✗
Bis Dart Sass 2.0.0 werden wir Benutzer, die den Default-Export von Sass laden, weiterhin unterstützen. Beim ersten Zugriff auf Eigenschaften des Default-Exports wird eine Deprecation-Warnung an console.error() ausgegeben. Um diesen Fehler zu vermeiden, verwenden Sie stattdessen import * as sass from 'sass'.