您的当前位置:首页正文

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

2020-11-27 来源:我们爱旅游

前言

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

    总结