Is it necessary to have a .scss partial file start with an underscore? The documentation states that a partial should start with an underscore, because the file would otherwise compile to a CSS file.
However I've noticed gulp-sass compiles files without an underscore into one complete CSS file just fine.
1. Partials must start with an underscore if you do not want them to be generated into a css
file.
2. A scss
file can import another file without an underscore and still compile correctly.
Take this example:
sass +-- base | +-- _normalize.scss +-- components | +-- site-header.scss +-- utilities | +-- _icons.scss +-- site.scss
Here we can see that site-header.scss
and site.scss
do not have underscores. If I ran a gulp task to compile anything within the sass
folder, two files would be output.
site-header.css site.css
We do not want to generate site-header.css
but because we have omitted the underscore the compiler only ignores files with an underscore and generates a css
file for it.
site-header.scss
can still be referenced in site.scss
with an @import
@import 'components\site-header';
This will result in the same outcome whether it is prefixed with an underscore or not.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With