埋め込みSassは 利用可能になりました

2022年2月1日投稿者:Natalie Weizenbaum

数年間の計画と開発を経て、ついにEmbedded Dart Sassの安定版リリースと、最初の公式ラッパーであるsass-embeddedパッケージ(npmで利用可能)を発表できることを嬉しく思います!

Embedded Sassは、Node.jsから始めて、可能な限り多くの異なる言語で高性能なSassライブラリを利用できるようにするための継続的な取り組みです。Node.jsは既に純粋なJS sassパッケージにアクセスできますが、JavaScriptの性質上、特に非同期モードでは、このパッケージが大きなSassファイルを処理する速度が本質的に制限されます。sass-embeddedは、コンパイル速度が懸念事項である開発者、特にパフォーマンスがDart Sassを避ける主な理由となっているnode-sassの残りのユーザーにとって、大きな恩恵をもたらすと期待しています。

sass-embeddedパッケージは、新しいJS APIと、いくつかの装飾的なオプションを除いて従来のAPIの両方を完全にサポートしています。sassパッケージのドロップイン置換として使用でき、同じビルドプラグインとライブラリで動作するはずです。sass-embeddedは、同期モードよりも非同期モードの方がわずかに高速であることに注意してください(sassパッケージは同期モードの方が高速でした)。大規模なSassファイルの場合、どちらのモードでもsass-embeddedを実行すると、一般的にsassよりもはるかに高速になります。

どのバージョンのどのパッケージがどの機能をサポートしているかについての混乱を避けるために、sass-embeddedパッケージは常にsassパッケージと同じバージョンになります。JS APIに新しい機能が追加されると、両方のパッケージで同時にサポートされ、Sassに新しい言語機能が追加されると、常に新しいsass-embeddedリリースにすぐに 含まれます。

動作方法動作方法 パーマリンク

Embedded Sassは3つの 部分で構成されています

  1. コンパイラは、Dart Sassをラップし、ファイルの解析とコンパイルの実際の大部分を担うDart実行ファイルです。Dartネイティブ実行ファイルは一般的にJavaScriptよりもはるかに高速であるため、スタイルシート評価という計算集約的な作業にこれらを使用することで、Embedded Sassは速度を向上させています。 

  2. ホストは、任意の言語(この場合はJavaScript)のライブラリであり、コンパイラの呼び出しのための使いやすいエンドユーザーAPIを提供します。ホストは呼び出し元に構成オプションを提供し、コンパイルで使用されるカスタムインポーターやSass関数を定義する機能を含みます。 

  3. プロトコルは、プロトコルバッファベースの仕様であり、ホストとコンパイラがお互いに通信する方法を定義します。この通信は、コンパイラ実行ファイルの標準入力と標準出力ストリームを介して行われ、ホストによって各 コンパイルを実行するために呼び出されます。

その他の言語その他の言語パーマリンク

Embedded Sassは、JavaScript以外の言語が、カスタムインポーターや関数を使用してSassコンパイルの全機能にアクセスできるようにする方法として設計されました。これは、過去にLibSassのC++ラッパーが機能していた方法に似ています。コミュニティメンバーがこのプロトコルを使用して、他の多くの一般的なフロントエンド言語の埋め込みホストを実装することを期待しています。そうした場合には、TwitterまたはGitterでメッセージを送信してください。この サイトにリンクします!