検索

ホームページ  >  に質問  >  本文

Sass スタイルシートでは、@import を直接使用するのではなく、@use を使用してコードをインポートする必要があるのはなぜですか?

私はプロジェクトを実装していますが、私が理解しているところによると、@use はコードを使用するスタイルシート @use にのみインポートし、他のスタイルシートにはインポートしません。

sass ドキュメント:

@use 読み込まれたメンバー (変数、関数、ミックスイン) は、それらを読み込んだスタイルシートにのみ表示されます。他のスタイルシートがそれらにアクセスしたい場合は、独自の @use ルールを記述する必要があります。

つまり、css にコンパイルされた sass のメインファイルである _b.scss というファイルがあり、次にインポートした a.scss というファイルがあります。 @use 経由で _b.scss をインポートすると、a.scss をインポートした project.scss というファイルができます。この階層によれば、_b.scssproject.scss ではアクセスできないはずですが、CSS にコンパイルするときに project.scss を置くと、私の CSS にファイルを作成するには、_b.scss から scss コードをコンパイルします (ただし、project.scss@debug map-get($colors."red") のように記述すると、 エラーがスローされます) では、なぜこのようなことが起こるのでしょうか?

PS: 私は gulp を使用して、scss と css をコンパイル、クリーンアップ、監視します。

リーリー リーリー リーリー リーリー リーリー リーリー ああああ

P粉493534105P粉493534105521日前846

全員に返信(1)返信します

  • P粉316423089

    P粉3164230892023-09-16 16:30:48

    あなた自身の引用に基づく (私の引用を強調):

    これには スタイル ルール は含まれないことに注意してください。 Documentation によると、スタイル ルールは生成されたスタイルシートに引き続き「読み込まれます」:

    したがって、@use は、スタイル ルールを出力する際に​​、表示される メンバー (変数、関数、ミックスイン) を分離するために使用されます。

    返事
    0
  • キャンセル返事