回答:
_(アンダースコア)は、scssのパーシャルです。つまり、スタイルシートがメインスタイルシート(styles.scss)にインポート(@import)されます。パーシャルを使用する利点は、多くのファイルを使用してコードを整理でき、すべてが単一のファイルにコンパイルされることです。
import '_file';
とimport 'file';
同じことを右にしますか?」
_
ですか?ファイル名からアンダースコアを削除することを検討しています。Sassファイルがパーシャル(つまり、インポート可能なコード)であるかどうかは、ファイルの命名方法ではなく、プロジェクトのアーキテクチャでのその場所に依存する必要があります。
_
プロジェクトが合理的な方法で構造化されている場合は、s は必要ありません。
アンダースコアで始まるsassファイルは部分的です。スタイルを論理的なセクションに分けておくのに良い方法です。これらのファイルはすべて、使用時にコンパイル時にマージされます@import
。
Sass言語ガイドから:
他のSassファイルに含めることができるCSSの小さなスニペットを含む部分的なSassファイルを作成できます。これは、CSSをモジュール化し、維持管理を容易にする優れた方法です。パーシャルは、先頭に下線が付いた名前のSassファイルです。_partial.scssのような名前を付けます。アンダースコアは、ファイルが部分的なファイルであり、CSSファイルに生成されるべきではないことをSassに知らせます。Sassパーシャルは@importディレクティブで使用されます。
ファイル名の前に「_」を含めると、部分的でない別のsassファイルにインポートしない限り、CSSに生成されません。
あなたのフォルダ構造がこのようなものであるとしましょう
/scss
style.scss
_list.scss
/css
コマンドを実行した場合
sass --watch scss:css
style.cssおよびstyle.css.mapファイルのみが作成され、sassコンパイラーはコンテンツをCSSファイルに変換せずに_list.scssを省略します。
/scss
style.scss
_list.scss
/css
style.css
style.css.map
パーシャルを使用できる唯一の方法は、パーシャルを別の.scssファイルにインポートすることです
@import 'list.scss';
_list.scssの前にある「_」を削除すると、コマンドの結果は次のようになります。
/scss
style.scss
list.scss
/css
style.css
style.css.map
list.css
list.css.map
パーシャルを使用する主な目的は、CSSコードを保守しやすいいくつかの部分に分解することです。お役に立てれば。ありがとう。
また、ノード環境でnode-sassのウォッチャーを使用すると、アンダースコアプレフィックスを付けずにエラーメッセージが表示されます。https://github.com/sass/node-sass/issues/2762を参照してください。
import '_file';
とimport '_file';
同じことを右にしますか?