红宝石萨斯
Head️抬头!
Ruby Sass的使用寿命已经结束,现在完全无法维护。请尽早使用Dart Sass或LibSass。
用法永久链接用法
Ruby Sass可执行文件可以两种方式之一调用。
一对一模式永久链接一对一模式
sass [input.scss] [output.css]
一对一模式将单个输入文件(input.scss
)编译到单个输出位置(output.css
)。如果未传递任何输出位置,则将已编译的CSS 打印到终端。如果未传递任何输入或输出,那么将从标准输入中读取CSS并将其打印到终端。
输入文件被解析为SCSS如果扩展名是.scss
或作为缩进语法如果扩展名是.sass
。如果它没有这两个扩展之一,或者它来自标准输入,则默认情况下将其解析为缩进语法。这可以通过--scss
标志来控制。
多对多模式永久链接多对多模式
sass [<input.css>:<output.css>] [<input/>:<output/>] [input.css] [input/]...
多对多模式将一个或多个输入文件编译为一个或多个输出文件。输入用冒号与输出分开。它还可以将目录中的所有Sass文件编译为另一个目录中具有相同名称的CSS文件。许多一对多模式下启用时,任何一个参数包含一个冒号,或者当--update
标志或--watch
标志传递。
如果传递的输入文件没有相应的输出文件,则会将其编译为以输入文件命名的CSS文件,但扩展名为.css
。如果传递的输入目录没有相应的输出目录,则其中的所有Sass文件都将编译为同一目录中的CSS文件。
$ sass style.scss:style.css
write style.css
write style.css.map
$ sass light.scss:light.css dark.scss:dark.css
write light.css
write light.css.map
write dark.css
write dark.css.map
$ sass themes:public/css
write public/css/light.css
write public/css/light.css.map
write public/css/dark.css
write public/css/dark.css.map
编译整个目录时,Sass将忽略名称以开头的部分文件_
。您可以使用partials分离样式表,而无需创建一堆不必要的输出文件。
多对多模式将仅编译样式表,这些样式表的依赖性已比生成相应的CSS文件更近地进行了修改。更新样式表时,它还将打印状态消息。
选项永久链接选项
常见的永久常见
–load-path永久链接--load-path
此选项(缩写-I
)为Sass 添加了一条额外的加载路径以查找样式表。可以多次传递它以提供多个加载路径。较早的加载路径将优先于较晚的加载路径。
$ sass --load-path=node_modules/bootstrap/dist/css style.scss style.css
加载路径也会从SASS_PATH
环境变量(如果已设置)中加载。此变量应该是由;
(在Windows上)或:
(在其他操作系统上)分隔的路径的列表。上的加载路径SASS_PATH
优先于在命令行上传递的加载路径。
$ SASS_PATH=node_modules/bootstrap/dist/css sass style.scss style.css
–需要永久链接--require
此选项(缩写为-r
)在运行Sass之前加载Ruby gem。它可用于将Ruby中定义的函数加载到Sass环境中。
$ sass --require=rails-sass-images style.scss style.css
–compass永久链接--compass
该标志加载Compass框架,并使它的mixin和函数可在Sass中使用。
$ sass --compass style.scss style.css
–样式固定链接--style
此选项(缩写-t
)控制所得CSS的输出样式 。Ruby Sass支持四种输出样式:
nested
(默认)缩进CSS规则以匹配Sass源的嵌套。expanded
将每个选择器和声明写在自己的行上。compact
将每个CSS规则放在自己的一行上。compressed
删除尽可能多的多余字符,并将整个样式表写在一行上。
$ sass --style=nested
h1 {
font-size: 40px; }
h1 code {
font-face: Roboto Mono; }
$ sass --style=expanded style.scss
h1 {
font-size: 40px;
}
h1 code {
font-face: Roboto Mono;
}
$ sass --style=compact style.scss
h1 { font-size: 40px; }
h1 code { font-face: Roboto Mono; }
$ sass --style=compressed style.scss
h1{font-size:40px}h1 code{font-face:Roboto Mono}
–帮助永久链接--help
此标志(缩写-h
和-?
)打印此文档的摘要。
$ sass --help
Usage: sass [options] [INPUT] [OUTPUT]
Description:
Converts SCSS or Sass files to CSS.
...
–版本永久链接--version
该标志显示Sass的当前版本。
$ sass --version
观看和更新永久链接观看和更新
这些选项影响多对多模式。
–观看固定链接--watch
启用多对多模式,并使Sass保持打开状态,并在样式表或其依存关系更改时继续编译样式表。
$ sass --watch themes:public/css
write public/css/light.css
write public/css/light.css.map
# Then when you edit themes/dark.scss...
write public/css/dark.css
write public/css/dark.css.map
–投票永久链接--poll
该标志(只能与一起传递)--watch
告诉Sass如此频繁地手动检查源文件的更改,而不是依靠操作系统在发生更改时通知它。如果要在操作系统的通知系统不起作用的远程驱动器上编辑Sass,则可能有必要。
$ sass --watch --poll themes:public/css
write public/css/light.css
write public/css/light.css.map
# Then when you edit themes/dark.scss...
write public/css/dark.css
write public/css/dark.css.map
–更新永久链接--update
即使所有参数都不是冒号分隔的对,此标志也会启用多对多模式。
$ sass --update style.scss
write style.css
write style.css.map
–force永久链接--force
该标志(缩写-f
)只能在多对多模式下传递。它使Sass文件始终编译为CSS文件,而不是仅在源文件比输出更新时才进行编译。
该--force
标志不能与--watch
标志并列通过。
$ sass --force style.scss:style.css
write style.css
write style.css.map
–错误停止永久链接--stop-on-error
该标志只能在多对多模式下传递。它告诉Sass在检测到错误时立即停止编译,而不是尝试编译其他可能不包含错误的Sass文件。
$ sass --stop-on-error themes:public/css
Error: Invalid CSS after "h1 {font-size: ": expected expression (e.g. 1px, bold), was "}"
on line 1 of test.scss
Use --trace for backtrace.
输入和输出固定链接输入和输出
这些选项控制Sass如何加载其输入文件以及如何生成输出文件。
–scss永久链接--scss
$ echo "h1 {font-size: 40px}" | sass --scss
h1 {
font-size: 40px;
}
–sourcemap永久链接--sourcemap
此选项控制Sass如何生成源映射,这些文件是告诉浏览器或使用CSS的其他工具的文件,该CSS如何与生成CSS的Sass文件相对应。它们使您可以在浏览器中查看甚至编辑您的Sass文件。请参阅有关在Chrome和Firefox中使用源地图的说明。它具有四个可能的值:
auto
(默认设置)使用相对URL(如果可能)从源映射链接到Sass样式表, 否则使用绝对file:
URL。file
始终使用绝对绝对file:
URL从源映射链接到Sass样式表。inline
在源地图中直接包含Sass stylehseets的文本。none
根本不生成源地图。
# Generates a URL like "../sass/style.scss".
$ sass --sourcemap=auto sass/style.scss css/style.css
# Generates a URL like "file:///home/style-wiz/sassy-app/sass/style.scss".
$ sass --sourcemap=file sass/style.scss css/style.css
# Includes the full text of sass/style.scss in the source map.
$ sass --sourcemap=inline sass/style.scss css/style.css
# Doesn't generate a source map.
$ sass --sourcemap=none sass/style.scss css/style.css
–stdin永久链接--stdin
该标志(缩写-s
)告诉Sass从标准输入读取其输入文件。传递时,不能传递任何输入文件。
$ echo -e 'h1\n font-size: 40px' | sass --stdin
h1 {
font-size: 40px;
}
该--stdin
标志可能不适用于多对多模式。
–默认编码的永久链接--default-encoding
此选项(缩写-E
)控制的默认编码字符 是Sass将使用不加载源文件明确指定一个字符编码。它默认为操作系统的默认编码。
$ sass --default-encoding=Shift-JIS style.scss style.css
–unix-newlines永久链接--unix-newlines
这个标志告诉Sass生成与输出文件,其线条与U +分离000A LINE FEED字符,而不是操作系统默认(在Windows上,这是U + 000D CARRIAGE RETURN其次U + 000A LINE FEED)。在默认为Unix风格的换行符的系统上总是如此。
$ sass --unix-newlines style.scss style.css
–debug-info永久链接--debug-info
此标志(缩写为-g
)使Sass发出虚拟@media
查询,以指示每个样式规则在源stylehseet中定义的位置。
Head️抬头!
该标志仅用于向后兼容。现在,建议使用源映射将CSS映射回生成它的Sass。
$ sass --debug-info style.scss
@media -sass-debug-info{filename{font-family:file\:\/\/\/home\/style-wiz\/sassy-app\/style\.scss}line{font-family:\000031}}
h1 {
font-size: 40px; }
–line-comments永久链接--line-comments
此标志(也可以用作--line-numbers
,缩写为-l
)使Sass为每个样式规则发出注释,以指示每个样式规则在源样式表中的定义位置。
$ sass --line-numbers style.scss
/* line 1, style.scss */
h1 {
font-size: 40px; }
其他选项永久链接其他选项
–交互式固定链接--interactive
该标志(缩写为-i
)告诉Sass以交互方式运行,您可以在其中编写SassScript表达式并查看其结果。交互模式还支持变量。
$ sass --interactive
>> 1px + 1in
97px
>> $map: ("width": 100px, "height": 70px)
("width": 100px, "height": 70px)
>> map-get($map, "width")
100px
–检查固定链接--check
该标志(缩写-c
)告诉Sass在不执行该文件的情况下验证其输入文件的语法是否有效。如果语法有效,则它以状态 0 退出。不能在多对多模式下使用。
$ sass --check style.scss
–精密固定链接--precision
此选项告诉Sass 发出十进制数字时要使用多少位精度。
$ echo -e 'h1\n font-size: (100px / 3)' | sass --precision=20
h1 {
font-size: 33.333333333333336px; }
–缓存位置永久链接--cache-location
此选项告诉Sass将解析的文件的缓存存储在哪里,以便在以后的调用中可以更快地运行。默认为 .sass-cache
。
$ sass --cache-location=/tmp/sass-cache style.scss style.css
–no-cache永久链接--no-cache
该标志(缩写-C
)告诉Sass根本不缓存已解析的文件。
$ sass --no-cache style.scss style.css
–trace永久链接--trace
遇到错误时,此标志告诉Sass打印完整的Ruby堆栈跟踪。Sass团队使用它来调试错误。
Traceback (most recent call last):
25: from /usr/share/gems/sass/bin/sass:13:in `<main>'
24: from /usr/share/gems/sass/lib/sass/exec/base.rb:18:in `parse!'
23: from /usr/share/gems/sass/lib/sass/exec/base.rb:50:in `parse'
22: from /usr/share/gems/sass/lib/sass/exec/sass_scss.rb:63:in `process_result'
21: from /usr/share/gems/sass/lib/sass/exec/sass_scss.rb:396:in `run'
20: from /usr/share/gems/sass/lib/sass/engine.rb:290:in `render'
19: from /usr/share/gems/sass/lib/sass/engine.rb:414:in `_to_tree'
18: from /usr/share/gems/sass/lib/sass/scss/parser.rb:41:in `parse'
17: from /usr/share/gems/sass/lib/sass/scss/parser.rb:137:in `stylesheet'
16: from /usr/share/gems/sass/lib/sass/scss/parser.rb:697:in `block_contents'
15: from /usr/share/gems/sass/lib/sass/scss/parser.rb:707:in `block_child'
14: from /usr/share/gems/sass/lib/sass/scss/parser.rb:681:in `ruleset'
13: from /usr/share/gems/sass/lib/sass/scss/parser.rb:689:in `block'
12: from /usr/share/gems/sass/lib/sass/scss/parser.rb:697:in `block_contents'
11: from /usr/share/gems/sass/lib/sass/scss/parser.rb:708:in `block_child'
10: from /usr/share/gems/sass/lib/sass/scss/parser.rb:743:in `declaration_or_ruleset'
9: from /usr/share/gems/sass/lib/sass/scss/parser.rb:820:in `try_declaration'
8: from /usr/share/gems/sass/lib/sass/scss/parser.rb:1281:in `rethrow'
7: from /usr/share/gems/sass/lib/sass/scss/parser.rb:807:in `block in try_declaration'
6: from /usr/share/gems/sass/lib/sass/scss/parser.rb:999:in `value!'
5: from /usr/share/gems/sass/lib/sass/scss/parser.rb:1161:in `sass_script'
4: from /usr/share/gems/sass/lib/sass/script/parser.rb:68:in `parse'
3: from /usr/share/gems/sass/lib/sass/script/parser.rb:855:in `assert_expr'
2: from /usr/share/gems/sass/lib/sass/script/lexer.rb:240:in `expected!'
1: from /usr/share/gems/sass/lib/sass/scss/parser.rb:1305:in `expected'
test.scss:1: Invalid CSS after "h1 {font-size: ": expected expression (e.g. 1px, bold), was "}" (Sass::SyntaxError)
–安静的永久链接--quiet
该标志(缩写-q
)告诉Sass编译时不发出任何警告。默认情况下,当使用不赞成使用的功能或遇到@warn
规则时,Sass会发出警告。这也使@debug
规则无语。
$ sass --quiet style.scss style.css