Est-il nécessaire de démarrer un fichier partiel .scss avec un trait de soulignement? La documentation indique qu'un partiel doit commencer par un trait de soulignement, car sinon le fichier se compilerait dans un fichier CSS.
Cependant, j'ai remarqué que gulp-sass compile des fichiers sans soulignement dans un fichier CSS complet très bien.
1. Les partiels doivent commencer par un trait de soulignement si vous ne voulez pas qu'ils soient générés dans un fichier css
.
2. Un fichier scss
peut importer un autre fichier sans trait de soulignement et toujours compiler correctement.
Prenez cet exemple:
sass
+-- base
| +-- _normalize.scss
+-- components
| +-- site-header.scss
+-- utilities
| +-- _icons.scss
+-- site.scss
Ici, nous pouvons voir que site-header.scss
et site.scss
n'ont pas de soulignement. Si j'exécutais une tâche gulp pour compiler quoi que ce soit dans le dossier sass
, deux fichiers seraient sortis.
site-header.css
site.css
Nous ne voulons pas générer site-header.css
mais parce que nous avons omis le trait de soulignement, le compilateur ignore uniquement les fichiers avec un trait de soulignement et génère un fichier css
pour cela.
site-header.scss
peut toujours être référencé dans site.scss
avec un @import
@import 'components\site-header';
Cela aboutira au même résultat, qu'il soit préfixé par un trait de soulignement ou non.