angular4,3angular脚手架引入scss

欢迎加入前端交流群来py749539640

scss。。sass。。。。sccc。。。ssss。。。ccccc。。。。。。MMP·················

先说下scss和sass的异同:

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

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

#sidebar
  width: 30%
  background-color: #faa

只需添加花括号和分号就能转换为 SCSS 语法:

#sidebar {
  width: 30%;
  background-color: #faa;
}

另外,SCSS 对空白符号不敏感。上面的代码也可以书写成下面的样子:

#sidebar {width: 30%; background-color: #faa}

好了进入正题:

如果你创建工程项目用angular-cli ;你的样式文件想使用scss, 并且让ng serve自动编译它们

第一步:

你可以在创建项目的时候用

ng new sassy-project --style=scss

或者通过ng set defaults.styleExt scss 来修改你现有的项目;

ng set defaults.styleExt scss

第二步:

利用npm工具安装sass依赖和loader(npm不行可以试着cnpm)

npm install node-sass --save-dev
npm install sass-loader --save-dev

第三步:

修改.angular-cli.json文件

"styles": [
    "styles.scss"
],
"defaults":{
    "styleExt": "scss",
    "component": {}
}

第四步:

”将项目中已经存在的.css文件改成.scss【项目会自动修改的】

注:新建的component项目会直接生成.scss文件

生成新组件:ng g component 组件名字