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判断只能输入数字、字母等验证的方法(总结)
May 14 Javascript
jq实现酷炫的鼠标经过图片翻滚效果
Mar 12 Javascript
jQuery实现返回顶部功能适合不支持js的浏览器
Aug 19 Javascript
jquery结婚电子请柬特效源码分享
Aug 21 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
Dec 08 Javascript
Angular中点击li标签实现更改颜色的核心代码
Dec 08 Javascript
解决vue router组件状态刷新消失的问题
Aug 01 Javascript
Vue 无限滚动加载指令实现方法
May 28 Javascript
VUE+elementui面包屑实现动态路由详解
Nov 04 Javascript
JavaScript对象属性操作实例解析
Feb 04 Javascript
浅谈TypeScript的类型保护机制
Feb 23 Javascript
用js编写留言板
Mar 17 Javascript
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
利用php+mcDropdown实现文件路径可在下拉框选择
2013/08/07 PHP
php加密解密实用类分享
2014/01/07 PHP
帝国cms常用标签汇总
2015/07/06 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
2017/10/11 PHP
PHP实现数组和对象的相互转换操作示例
2019/03/20 PHP
javascript String 的扩展方法集合
2008/06/01 Javascript
javascript控制Div层透明属性由浅变深由深变浅逐渐显示
2013/11/12 Javascript
jQuery的缓存机制浅析
2014/06/07 Javascript
javascript模拟实现ajax加载框实例
2014/10/15 Javascript
Javascript前端UI框架Kit使用指南之kitjs的对话框组件
2014/11/28 Javascript
AngularJS基础知识
2014/12/21 Javascript
JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
2015/11/24 Javascript
Jquery 1.9.1源码分析系列(十二)之筛选操作
2015/12/02 Javascript
javascript实现瀑布流加载图片原理
2016/02/02 Javascript
Backbone.js框架中Model与Collection的使用实例
2016/05/07 Javascript
深入理解jquery跨域请求方法
2016/05/18 Javascript
对vue中methods互相调用的方法详解
2018/08/30 Javascript
vue 更改连接后台的api示例
2019/11/11 Javascript
JQuery样式与属性设置方法分析
2019/12/07 jQuery
vue 遮罩层阻止默认滚动事件操作
2020/07/28 Javascript
在antd4.0中Form使用initialValue操作
2020/11/02 Javascript
[04:13]2014DOTA2国际邀请赛 专访DC目前形势不容乐观
2014/07/12 DOTA
跟老齐学Python之玩转字符串(1)
2014/09/14 Python
Python实现高效求解素数代码实例
2015/06/30 Python
Python实现数据结构线性链表(单链表)算法示例
2019/05/04 Python
简单了解python高阶函数map/reduce
2019/06/28 Python
pycharm中使用request和Pytest进行接口测试的方法
2020/07/31 Python
Python3如何使用多线程升程序运行速度
2020/08/11 Python
CSS3 linear-gradient线性渐变生成加号和减号的方法
2017/11/21 HTML / CSS
哈曼俄罗斯官方网上商店:Harman.club
2020/07/24 全球购物
会计师事务所审计实习自我鉴定
2013/09/20 职场文书
汽车专业大学生职业生涯规划范文
2014/01/07 职场文书
小学生防溺水广播稿
2014/01/12 职场文书
小学校长先进事迹材料
2014/05/13 职场文书
制冷与空调专业毕业生推荐信
2014/07/07 职场文书
同意迁入证明模板
2014/10/26 职场文书