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

Kompatibilität
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'.