web-dev-qa-db-ja.com

部分的なSassファイルのアンダースコア

.scss部分ファイルをアンダースコアで始める必要がありますか?ドキュメントには、ファイルがCSSファイルにコンパイルされるため、パーシャルはアンダースコアで開始する必要があると記載されています。

しかし、gulp-sassがアンダースコアなしでファイルを1つの完全なCSSファイルにコンパイルすることに気付きました。

37
Squrler

1。cssファイルに生成されたくない場合、パーシャルはアンダースコアで始まる必要があります。

2。scssファイルは、アンダースコアなしで別のファイルをインポートでき、正しくコンパイルできます。

次の例をご覧ください。

sass
    +-- base
    |   +-- _normalize.scss 
    +-- components  
    |   +-- site-header.scss
    +-- utilities       
    |   +-- _icons.scss
    +-- site.scss

ここでは、site-header.scsssite.scssにアンダースコアがないことがわかります。 sassフォルダー内で何かをコンパイルするためにgulpタスクを実行した場合、2つのファイルが出力されます。

site-header.css
site.css

site-header.cssは生成しませんが、アンダースコアを省略したため、コンパイラはアンダースコアを持つファイルのみを無視し、cssファイルを生成します。

site-header.scssは、site.scssで引き続き@importで参照できます

@import 'components\site-header';

これは、アンダースコアが前に付いていてもいなくても、同じ結果になります。

51
Colin Bacon