Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Many SCSS/SASS files to one CSS file?

Tags:

html

css

sass

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.

like image 514
voigtan Avatar asked Sep 05 '11 11:09

voigtan


People also ask

Which directive is used to convert multiple Sass into single or multiple CSS files?

Sass Importing Files Just like CSS, Sass also supports the @import directive. The @import directive allows you to include the content of one file in another.

How do I use multiple Sass files?

To use variables across multiple files in SASS is carried out by @import rule of SASS. @import rule which import Sass and CSS stylesheets for providing variables, @mixins and functions. Such that combine all stylesheets together for compiled css.


2 Answers

If you watch the directory, sass will be able to notice changes in @imported files, and update dependent files.

style.scss:

@import "header"; @import "footer"; 

And do:

sass --watch . 

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:

sass --watch .:output_dir/ 
like image 200
Arnaud Le Blanc Avatar answered Oct 03 '22 16:10

Arnaud Le Blanc


You can tell SASS to watch an entire folder with:

sass --watch application/sass:public/stylesheets 

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.

like image 25
Luwe Avatar answered Oct 03 '22 17:10

Luwe