Sass スタイルシートでは、@import を直接使用するのではなく、@use を使用してコードをインポートする必要があるのはなぜですか?
P粉493534105
P粉493534105 2023-09-15 21:45:03
0
1
770

私はプロジェクトを実装していますが、私が理解しているところによると、@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粉493534105
P粉493534105

全員に返信(1)
P粉316423089

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

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

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート