重要な変更: デフォルト エクスポート
デフォルトでは、Node.js は import sass from 'sass'
という構文を使用して、CommonJS モジュール を ECMAScript モジュールからロードすることを許可しています。これは現在非推奨となっており、ESM ユーザーは代わりに import * as sass from 'sass'
を使用する必要があります。
歴史的に、Dart Sass は CommonJS モジュールとしてのみ利用可能でした。これは、Node.js のネイティブ ECMAScript モジュールサポートを使用するプロジェクトから Dart Sass を使用する場合、デフォルトエクスポートを提供しているかのようにロードできることを意味していました。
import sass from 'sass'; // Don't do this anymore
これは Sass チームが意図したものではなく、パッケージに付属の型宣言とも一致していませんでしたが、実際には機能していました。Dart Sass 2.0.0 ではこのサポートを削除し、ECMAScript モジュールユーザーがパッケージの名前付き エクスポートのみを使用することを必須とします。
import * as sass from 'sass'; // Do this
移行期間移行期間 パーマリンク
- Dart Sass
- 1.54.0以降
- LibSass
- ✗
- Ruby Sass
- ✗
互換性
Dart Sass 2.0.0 までは、Sass のデフォルトエクスポートのロードを引き続きサポートします。デフォルトエクスポートのプロパティに初めてアクセスしたときに、console.error()
に非推奨の警告が出力されます。このエラーを回避するには、代わりに import * as sass from 'sass'
を使用してください。