Is it possible to make sass listen to a directory with many sass files and generate one CSS file? I have found a way by including many sass files into one (style.scss):
@import "scss/header";
@import "scss/footer";
And then run the following code:
sass --watch style.scss:style.css
but the problem is that I have to change that file before I generate a new CSS file.
You can tell SASS to watch an entire folder with:
If you import all your partial files, this should generate one file. Every time you edit a file in the folder, the CSS files will be generated automatically.
If you watch the directory, sass will be able to notice changes in @imported files, and update dependent files.
style.scss:
And do:
It will compile all files in the directory to .css; ignoring files whose name start with a
_
.I you modify _header.scss or _footer.scss, if will update style.scss too.
You can also output in an other directory:
Just wanted to add, You can also call Variables ($) and Mixins from other files.
For Example:
_variable.scss =
$primary:#000
_header.scss =
header {color:$primary;}
_footer.scss =
footer {background:$primary}
custom.scss:
Output = custom.css