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 相关文章推荐
鼠标移动到一张图片时变为另一张图片
Dec 05 Javascript
基于jquery的finkyUI插件与Ajax实现页面数据加载功能
Dec 03 Javascript
js实时监听文本框状态的方法
Apr 26 Javascript
Jquery响应回车键直接提交表单操作代码
Jul 25 Javascript
详解微信小程序开发之城市选择器 城市切换
Jan 17 Javascript
jQuery实现别踩白块儿网页版小游戏
Jan 18 Javascript
javascript深拷贝和浅拷贝详解
Feb 14 Javascript
使用vue实现grid-layout功能实例代码
Jan 05 Javascript
微信小程序 腾讯地图显示偏差问题解决
Jul 27 Javascript
Layui带搜索的下拉框的使用以及动态数据绑定方法
Sep 28 Javascript
关于在LayUI中使用AJAX提交巨坑记录
Oct 25 Javascript
JavaScript单线程和任务队列原理解析
Feb 04 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
Protoss兵种介绍
2020/03/14 星际争霸
使用bcompiler对PHP文件进行加密的代码
2010/08/29 PHP
php实现把url转换迅雷thunder资源下载地址的方法
2014/11/07 PHP
JSON用法之将PHP数组转JS数组,JS如何接收PHP数组
2015/10/08 PHP
使用Modello编写JavaScript类
2006/12/22 Javascript
jQuery 扩展对input的一些操作方法
2009/10/30 Javascript
我的javascript 函数链之演变
2011/04/07 Javascript
js实现的简单radio背景颜色选择器代码
2015/08/18 Javascript
jQuery基础知识点总结(DOM操作)
2016/06/01 Javascript
JQuery validate 验证一个单独的表单元素实例
2017/02/17 Javascript
JavaScript错误处理和堆栈追踪详解
2017/04/18 Javascript
vue 利用路由守卫判断是否登录的方法
2018/09/29 Javascript
jquery插件开发模式实例详解
2019/07/20 jQuery
vue 根据选择条件显示指定参数的例子
2019/11/09 Javascript
解决vue打包 npm run build-test突然不动了的问题
2020/11/13 Javascript
[04:19]完美世界携手游戏风云打造 卡尔工作室模型介绍篇
2013/04/24 DOTA
[01:00:13]完美世界DOTA2联赛 LBZS vs Forest 第一场 11.07
2020/11/09 DOTA
如何优雅地处理Django中的favicon.ico图标详解
2018/07/05 Python
解决Python 使用h5py加载文件,看不到keys()的问题
2019/02/08 Python
对Python 多线程统计所有csv文件的行数方法详解
2019/02/12 Python
python+logging+yaml实现日志分割
2019/07/22 Python
如何基于Python批量下载音乐
2019/11/11 Python
Python中实现输入超时及如何通过变量获取变量名
2020/01/18 Python
python 用pandas实现数据透视表功能
2020/12/21 Python
boostrap modal 闪现问题的解决方法
2020/09/01 HTML / CSS
英国标准协会商店:BSI Shop
2019/02/25 全球购物
网上卖盒饭创业计划书
2014/01/26 职场文书
上班离岗检讨书
2014/01/27 职场文书
书香校园建设方案
2014/05/02 职场文书
2014年营业员工作总结
2014/11/18 职场文书
寒山寺导游词
2015/02/03 职场文书
爱心捐款活动总结
2015/05/09 职场文书
开学典礼观后感
2015/06/15 职场文书
python 中yaml文件用法大全
2021/07/04 Python
vue中控制mock在开发环境使用,在生产环境禁用方式
2022/04/06 Vue.js
处理canvas绘制图片模糊问题
2022/05/11 Javascript