Angular中支持SCSS的方法


Posted in Javascript onNovember 18, 2017

scss介绍

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

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

在为组件添加样式时,为了样式的模块化,通常我们会使用SCSS、SASS。那么如何让我们的Angular工程支持SCSS或者SASS呢?下面将从以下两中方式来介绍:

  1. 创建工程时来指定
  2. 修改当前的工程

1、创建工程时来指定

在指定目录下运行:ng new myProject ?style=scss

注:这里使用的Angular的CLI来创建工程的。

如果要指定SASS,则将scss换为sass即可。

2、修改当前工程

修改angular-cli.json文件,主要有两个地方需要修改:

将defaults中styleExt值设置为scss

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

这样我们在运行ng g component myComponent 等命令生成文件时,默认后缀就是scss

在apps下的styles中将styles.css修改为styles.scss

"apps": [
  {
   "root": "src",
   "outDir": "dist",
   "assets": [
    "assets",
    "favicon.ico"
   ],
   "index": "index.html",
   "main": "main.ts",
   "polyfills": "polyfills.ts",
   "test": "test.ts",
   "tsconfig": "tsconfig.app.json",
   "testTsconfig": "tsconfig.spec.json",
   "prefix": "app",
   "styles": [
    "styles.scss"
   ],
   "scripts": [],
   "environmentSource": "environments/environment.ts",
   "environments": {
    "dev": "environments/environment.ts",
    "prod": "environments/environment.prod.ts"
   }
  }
 ],

注:不要忘记修改style.css文件的后缀。

angularcli 转变css工程为scss工程

方法一:

新增的时候就默认为scss

ng new My_New_Project --style=scss

方法二:

1、修改.angular-cli.json配置文件:

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

2、在src目录下新增文件_variables.scss

3、style.scss文件里配置如下:

@import 'variables';
@import '../node_modules/bootstrap/scss/bootstrap';

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用js实现控制内容的向上向下滚动效果
Jun 26 Javascript
js focus不起作用的解决方法(主要是因为dom元素是否加载完成)
Nov 05 Javascript
javascript简易缓动插件(源码打包)
Feb 16 Javascript
点击显示指定元素隐藏其他同辈元素的方法
Feb 19 Javascript
【JS+CSS3】实现带预览图幻灯片效果的示例代码
Mar 17 Javascript
简单的分页代码js实现
May 17 Javascript
AngularJs $parse、$eval和$observe、$watch详解
Sep 21 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
Oct 28 Javascript
AngularJS入门教程之MVC架构实例分析
Nov 01 Javascript
详解Vue.use自定义自己的全局组件
Jun 14 Javascript
Vue开发之封装上传文件组件与用法示例
Apr 25 Javascript
Vue实现一种简单的无限循环滚动动画的示例
Jan 10 Vue.js
VUE element-ui 写个复用Table组件的示例代码
Nov 18 #Javascript
jQuery实现checkbox的简单操作
Nov 18 #jQuery
浅谈Emergence.js 检测元素可见性的 js 插件
Nov 18 #Javascript
基于jquery实现五星好评
Nov 18 #jQuery
基于JavaScript实现五子棋游戏
Aug 26 #Javascript
JavaScript canvas实现围绕旋转动画
Nov 18 #Javascript
Vue2.0设置全局样式(less/sass和css)
Nov 18 #Javascript
You might like
一个ORACLE分页程序,挺实用的.
2006/10/09 PHP
PHP通过session id 实现session共享和登录验证的代码
2012/06/03 PHP
利用div+jquery自定义滚动条样式的2种方法
2013/07/18 Javascript
instanceof和typeof运算符的区别详解
2014/01/06 Javascript
jQuery实现的类似淘宝网站搜索框样式代码分享
2015/08/24 Javascript
jQuery结合CSS制作动态的下拉菜单
2015/10/27 Javascript
JavaScript数组去重算法实例小结
2018/05/07 Javascript
vue v-for 使用问题整理小结
2019/08/04 Javascript
微信小程序之 catalog 切换实现解析
2019/09/12 Javascript
JS实现横向轮播图(初级版)
2020/06/24 Javascript
Vue组件生命周期运行原理解析
2020/11/25 Vue.js
js+for循环实现字符串自动转义的代码(把后面的字符替换前面的字符)
2020/12/24 Javascript
JavaScript canvas实现文字时钟
2021/01/10 Javascript
Linux下Python获取IP地址的代码
2014/11/30 Python
Python 爬虫的工具列表大全
2016/01/31 Python
Python 使用os.remove删除文件夹时报错的解决方法
2017/01/13 Python
Python3.7 新特性之dataclass装饰器
2019/05/27 Python
在Python中os.fork()产生子进程的例子
2019/08/08 Python
python应用Axes3D绘图(批量梯度下降算法)
2020/03/25 Python
python 实现读取csv数据,分类求和 再写进 csv
2020/05/18 Python
浅谈keras 的抽象后端(from keras import backend as K)
2020/06/16 Python
Bally巴利英国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/07 全球购物
Footshop罗马尼亚:最好的运动鞋选择
2019/09/10 全球购物
造价工程师个人求职信
2013/09/21 职场文书
单位实习证明怎么写
2014/01/17 职场文书
本科应届生自荐信
2014/06/29 职场文书
刑事辩护授权委托书
2014/09/13 职场文书
高中生国庆节演讲稿范文2014
2014/09/21 职场文书
2014年大学班级工作总结
2014/11/14 职场文书
平安建设汇报材料
2014/12/29 职场文书
2015年社区科普工作总结
2015/05/13 职场文书
学困生帮扶工作总结
2015/08/13 职场文书
Java输出Hello World完美过程解析
2021/06/13 Java/Android
springboot如何初始化执行sql语句
2021/06/22 Java/Android
Pytest中conftest.py的用法
2021/06/27 Python
彻底解决MySQL使用中文乱码的方法
2022/01/22 MySQL