官术网_书友最值得收藏!

  • Mastering Sass
  • Luke Watts
  • 622字
  • 2021-07-14 10:28:19

Command line options in Sass

So before we get to our heading styles, let's look at some of the command line options that can be passed along with our Sass command. We saw the --watch option. This tells Sass to watch the sass file or an entire folder changes, and then automatically compiles CSS whenever we save any changes to our Sass files.

Watching files and directories

We also told Sass to watch an entire directory and compile to a separate directory. Therefore, any file we created or updated in our sass directory, whether it was a .scss or .sass file, would be compiled to a CSS file of the same name in the css folder.

Tip

You can even use files with the indented Sass syntax and files written in the SCSS syntax in one project. So if you haven't started using the indented Sasssyntax simply because you don't fancy writing all of your mixins again, or you don't want to have to convert all your files, well you don't have to. Simply include any .scss files partials in a .sass (or vice versa) and everything will work just fine!

I highly recommend trying the indented Sass syntax. Once you've embraced it you won't go back.

Note

In practice I use the indented Sass syntax for work and personal projects; however, for demonstration purposes I'll be using the more commonly seen SCSS syntax for the remainder of this book.

Compile files and folders

There are times when you only need to make a very minute change to a Sass project, therefore you may wish to compile those updates, but not watch your files or folders for further changes. You can achieve this with the --update option:

sass -update sass/style.scss:css/style.css

The preceding code will compile any changes we've made to style.scss in the sass folder, into the style.css file in our CSS folder. However, if there are no changes detected, Sass is smart enough not to compile.

Force Sass to compile

If you want Sass to compile, even if it doesn't detect changes you can add the --force option, like so:

sass --force --update sass/style.scss:css/style.css

As you can see, the order doesn't really matter. You can place all of the options at the right, after the command, or all at the very end. What I tend to do is figure out what reads the most like what I want to achieve and that helps me remember it. Sass force update style.scss to style.css.

CSS output style

The next thing you might want to do is control how the CSS is compiled. By default, the CSS generated is in the nested format, which keeps the indentation of the original Sass file and places the closing bracket on the same last line of the rule. For example:

.navbar{ 
    font-size: 1rem; 
    list-style:none; 
    padding: 0; 
    margin: 0; } 
    .navbar > .menu-item { 
        display: inline-block; 
        padding: 1.25rem; 
        margin-right: 1rem; } 

I generally prefer to either have completely uncompressed CSS or completely compressed. For uncompressed CSS pass the value expanded to the style option, or if you want minified CSS, set it to compressed. To set your output style use the --style option, like so:

Sass --force --update sass/style.scss:css/style.css --style=expanded

Sourcemaps

You may also want to compile without sourcemaps once your project is ready to be deployed or uploaded to a git repository (although a .gitignore file is more suitable for this). To achieve this you can pass the --sourcemap=none option:

sass --force --update sass/style.scss:css/style.css --style=compressed --sourcemap=none

Tip

You can press the up arrow to cycle through your previously entered commands so you don't have to keep typing them over and over.

For all the available option you can visit the Sass documentation at http://sass-lang.com/documentation/file.SASS_REFERENCE.html#options.

主站蜘蛛池模板: 呈贡县| 桐庐县| 兴义市| 镶黄旗| 黄浦区| 武山县| 会宁县| 玛纳斯县| 和田市| 汝南县| 肥西县| 抚顺市| 文山县| 镇江市| 尉犁县| 三门峡市| 天津市| 夹江县| 阿克苏市| 凯里市| 崇文区| 宁陵县| 雷山县| 林周县| 濉溪县| 美姑县| 成安县| 富锦市| 潜江市| 华宁县| 凤冈县| 米脂县| 富平县| 荣昌县| 沾化县| 平果县| 湘乡市| 浦北县| 宜昌市| 白水县| 宜丰县|