SASS名字来自 Syntactically Awesome Style Sheets的缩写。它是一种用于生成级联样式表CSS的预处理脚本语言。
它有两种语法格式,一种采用缩进的格式(原始格式),另一种采用类似CSS的块格式(新式格式)。后缀分别采用:
- .sass
- .scss
历史
网上信息比较杂,还是先看历史。
1 |
|
ruby sass
- https://sass-lang.com/ruby-sass/
最早的sass开源版本,是2006年采用ruby语言开发的。需要安装ruby才能使用,且不能被node调用。
2019年3月26日,ruby sass生命期结束。
Ruby Sass was the original implementation of Sass, but it reached its end of life as of 26 March 2019. It’s no longer supported, and Ruby Sass users should migrate to another implementation.
Compass经常和ruby sass一块出镜,使用compass创建的项目中,会有一个配置文件 config.rb
。这个需要移植。
https://github.com/sass/libsass/issues/78
libsass
- https://sass-lang.com/libsass/
- https://sass-lang.com/blog/libsass-is-deprecated/
2012年,libSass 发布了1.0版本,它是用C++开发的一个开源库。它的设计目标:
- 性能(是ruby版本的10倍以上)
- 易于集成(有Node-sass, libsass-python 等等各种封装)
- 兼容性 (libsass 3.3 已经实现与ruby 版本 sass的完全兼容)
libasss以及基于它的的Node-sass等顺应前端工程化潮流出现,速度块。但是node-sass和node的版本对应比较麻烦。
2020年,libSass及其封装标记为过时,不建议在新项目中使用。
libsass-python
libsass有各种封装,比如python:
- https://sass.github.io/libsass-python/
安装方式
1 |
|
dart sass
Dart Sass 是 Sass 官网力推的工具,它包括了基于 Dart VM 的命令行工具,以及基于 Node 的纯 Javascript 实现。
注意:dart sass是习惯称呼,最早在npm上也是以 dart-sass名字发布的,但是,现在已经更名为 sass。
- 采用dart sass编写的sass编译器,不需要像node-sass一样和node版本需要对应。
- 对CSS新特性支持更全。
Dart 是一种Google开发的编程语言,它与2011年10月首次亮相,是一种基于类的可选类型化编程语言,设计用于创建 Web 应用程序。
Sass使用
参考
- https://sasscss.org/
- https://sass-lang.com/
- https://en.wikipedia.org/wiki/Sass_(style_sheet_language)
- https://github.com/sass/libsass/issues/78