scss - Sass @import usando el guión bajo
que es mixins de sass (2)
Entiendo que es una buena práctica importar los parciales de SASS / SCSS sin utilizar el guión bajo principal; p.ej
@import ''normalize-scss/normalize''; // this imports ./normalize-scss/_normalize.scss
Mi pregunta para la integridad nerdy es, ¿hay consecuencias si el archivo se importa con el guión bajo?
@import ''normalize-scss/_normalize'';
No. Si su archivo es _foo.scss, todas estas importaciones tienen resultados idénticos, siempre y cuando no tenga nombres de archivo ambiguos (salvo los efectos secundarios que puedan existir):
@import "foo";
@import "foo.scss";
@import "_foo";
@import "_foo.scss";
Archivos con el mismo nombre pero diferente extensión.
La única vez que se necesita una extensión es si tiene tanto _foo.scss como _foo.sass en la misma ruta de búsqueda. Obtendrá el siguiente error si no especifica cuál:
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.
)
Archivos con el mismo nombre, pero uno tiene el prefijo con un guión bajo
Si tiene tanto foo.scss como _foo.scss, entonces foo.scss tendrá prioridad. Si en su lugar desea _foo.scss, deberá agregar el guión bajo a su declaración de importación.
@import "test/_foo";
Sass lo molestará con una advertencia cada vez que guarde, sin importar cómo se vea su declaración de importación:
WARNING: In /path/to/test:
There are multiple files that match the name "bar.scss":
_bar.scss
bar.scss
Si agrega un guión bajo al inicio del nombre del archivo, Sass no lo compilará. Por lo tanto, si no desea que colors.scss
compile en colors.css
, nombre el archivo _colors.scss
en _colors.scss
lugar. Los archivos nombrados de esta manera se denominan parciales en la terminología de Sass.
Más sobre la función de importación en Sass que puedes encontrar here