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