Je comprends qu'il est préférable d'importer des partiels SASS/SCSS sans utiliser le soulignement principal; par exemple.
@import 'normalize-scss/normalize';
// this imports ./normalize-scss/_normalize.scss
Ma question pour l'exhaustivité ringard est, y a-t-il des conséquences si le fichier est importé en utilisant le trait de soulignement?
@import 'normalize-scss/_normalize';
Non. Si votre fichier est _foo.scss, toutes ces importations ont des résultats identiques tant que vous n'avez pas de noms de fichiers ambigus (sauf les effets secondaires qui pourraient exister):
@import "foo";
@import "foo.scss";
@import "_foo";
@import "_foo.scss";
La seule fois où une extension est nécessaire est si vous avez à la fois _foo.scss et _foo.sass dans le même chemin de recherche. Vous obtiendrez l'erreur suivante si vous ne spécifiez pas laquelle:
error sass/test.scss (Line 7: It's not clear which file to import for '@import "test/bar"'.
Candidates:
test/_bar.sass
test/_bar.scss
Please delete or rename all but one of these files.
)
Si vous avez à la fois foo.scss et _foo.scss, alors foo.scss aura la priorité. Si vous préférez _foo.scss, vous devrez ajouter le trait de soulignement à votre instruction d'importation.
@import "test/_foo";
Sass vous lancera un avertissement à chaque fois que vous enregistrerez, quelle que soit votre déclaration d'importation:
WARNING: In /path/to/test:
There are multiple files that match the name "bar.scss":
_bar.scss
bar.scss
Si vous ajoutez un trait de soulignement au début du nom de fichier, Sass ne le compilera pas. Donc, si vous ne voulez pas colors.scss
pour compiler en colors.css
, nommez le fichier _colors.scss
au lieu. Les fichiers ainsi nommés sont appelés partiels dans la terminologie Sass.
Plus d'informations sur la fonction d'importation dans Sass, vous pouvez trouver ici