Sass will watch for any files with a .scss
or .sass
extension and compile them into .css
files for you.
- You have a basic html/css/js structure
- You have NOT integrated node, webpack, or other fancy package managers (they have their own set uÂp rules)
The most common way to install Sass is by using Ruby.
If you are on a mac, your computer comes with the Ruby programming language ready to go.
You can verify this by typing ruby -v
in your terminal.
You should see an output like ruby 2.3.0p0
, indicating the version you currently have installed. If you see something else, go find documentation on how to install Ruby.
In the terminal, install Sass locally with the command gem install sass
. (You might need to write sudo gem install sass
).
You should see a bunch of output, with 1 gem installed
somewhere in there.
Tell Sass to watch for any changes to .sass
or .scss
files in a certain directory with this command:
sass --watch path/to/targe-directory
Example: sass --watch ~/my_project/lib/styles
. This will watch that directory.
If there is an existing .scss
file it will automatically compile it into .css
for you, and continuously re-compile any time a change is made.
If there are no files, it will wait until you create a .scss
file and then immediately compile it to .css
.
After running the watch command, you'll see an ouput similar to this:
sass --watch ~/project/lib/styles
>>> Sass is watching for changes. Press Ctrl-C to stop.
If I then create a .scss
file I will see this:
touch test/styles.scss
>>> New template detected: test/styles.scss
write /Users/brennamartenson/test/styles.css
write /Users/brennamartenson/test/styles.css.map
Notice how .css
files are created automatically.
That's cool. Run this version of the watch command:
sass --watch ~/scss-temp-folder:~/project/lib/styles
This is saying to watch for any changes or creation of .scss
files in ~/scss-temp-folder
, but compile and save the .css
files in ~/project/lib/styles
instead.
If you only care about a particular file, not an entire directory, simply specify that file in the watch command.
sass --watch ~/project/lib/styles/variables.scss