Angular CLI在Angular项目中如何使用scss详解

前言

SCSS 是 Sass 3 引入新的语法,其语法完全兼容 CSS3,并且继承了 Sass 的强大功能。也就是说,任何标准的 CSS3 样式表都是具有相同语义的有效的 SCSS 文件。另外,SCSS 还能识别大部分 CSS hacks(一些 CSS 小技巧)和特定于浏览器的语法,例如:古老的 IE filter 语法。

由于 SCSS 是 CSS 的扩展,因此,所有在 CSS 中正常工作的代码也能在 SCSS 中正常工作。也就是说,对于一个 Sass 用户,只需要理解 Sass 扩展部分如何工作的,就能完全理解 SCSS。大部分扩展,例如变量、parent references 和 指令都是一致的;唯一不同的是,SCSS 需要使用分号和花括号而不是换行和缩进。

Angular CLI支持多种css预处理,包括:

  • css
  • scss
  • less
  • sass
  • styl (stylus)

默认值为css。

Angular有两种方式指定css预处理。下面以scss为例:

新建项目指定css预处理

在新建angular项目是使用--style指定css预处理

ng new my-project --style=scss

已有项目指定css预处理

对于已有的项目,也是支持修改css预处理。

查看.angular-cli.json,在defaults配置项里有类似下面的声明:

"defaults": {
 "styleExt": "css",
 "component": {}
}

使用set指令修改styleExt

ng set defaults.styleExt scss

如果项目统一使用scss,建议把项目里的css文件改为scss,记得也要修改其他文件对css文件的引用。其中styles.css的引用在.angular-cli.json里。

参考:stories css processors

总结

相关推荐