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 相关文章推荐
插件:检测javascript的内存泄漏
Mar 04 Javascript
Javascript 自适应高度的Tab选项卡
Apr 05 Javascript
禁止你的左键复制实用技巧
Jan 04 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
Jun 24 Javascript
JavaScript实现横向滑出的多级菜单效果
Oct 09 Javascript
基于jQuery实现音乐播放试听列表
Apr 14 Javascript
JavaScript中undefined和null的区别
May 03 Javascript
iframe高度自适应及隐藏滚动条的实例详解
Sep 29 Javascript
Vue源码探究之状态初始化
Nov 14 Javascript
详解Vue项目部署遇到的问题及解决方案
Jan 11 Javascript
解决vue-photo-preview 异步图片放大失效的问题
Jul 29 Javascript
Vue实现tab导航栏并支持左右滑动功能
Jun 28 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
人工智能开始玩《星际争霸2》 你的操作跟得上吗?
2017/08/11 星际争霸
phpnow php探针环境检测代码
2014/11/04 PHP
PHP微信开发之有道翻译
2016/06/23 PHP
php中static和const关键字用法分析
2016/12/07 PHP
ThinkPHP 3.2.2实现事务操作的方法
2017/05/05 PHP
thinkPHP5框架路由常用知识点汇总
2019/09/15 PHP
JavaScript去掉数组中的重复元素
2011/01/13 Javascript
js函数返回多个返回值的示例代码
2013/11/05 Javascript
javascript表单验证使用示例(javascript验证邮箱)
2014/01/07 Javascript
javascript对JSON数据排序的3个例子
2014/04/12 Javascript
JS/Jquery判断对象为空的方法
2015/06/11 Javascript
javascript中的previousSibling和nextSibling的正确用法
2015/09/16 Javascript
js中用cssText设置css样式的简单方法
2016/09/19 Javascript
Vue2 轮播图slide组件实例代码
2018/05/31 Javascript
layui原生表单验证的实例
2019/09/09 Javascript
解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题
2019/10/25 Javascript
小程序采集录音并上传到后台
2019/11/22 Javascript
vue实现鼠标移过出现下拉二级菜单功能
2019/12/12 Javascript
vue实现div单选多选功能
2020/07/16 Javascript
Python的Bottle框架中获取制定cookie的教程
2015/04/24 Python
5个很好的Python面试题问题答案及分析
2018/01/19 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
2018/01/24 Python
DataFrame中的object转换成float的方法
2018/04/10 Python
Python读写/追加excel文件Demo分享
2018/05/03 Python
python 移动图片到另外一个文件夹的实例
2019/01/10 Python
python lxml中etree的简单应用
2019/05/10 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
2019/07/04 Python
Django2 连接MySQL及model测试实例分析
2019/12/10 Python
Python re正则表达式元字符分组()用法分享
2020/02/10 Python
一文轻松掌握python语言命名规范规则
2020/06/18 Python
英文简历中的自我评价用语
2013/12/09 职场文书
工作人员思想汇报
2014/01/09 职场文书
端午节活动策划方案
2014/03/09 职场文书
学校推普周活动总结
2015/05/07 职场文书
西游降魔篇观后感
2015/06/15 职场文书
欢送会主持词
2015/07/01 职场文书