web-dev-qa-db-fra.com

Souligner dans un fichier Sass partiel

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.

37
Squrler

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.

51
Colin Bacon