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 相关文章推荐
jquery乱码与contentType属性设置问题解决方案
Jan 07 Javascript
Jquery增加鼠标中间功能mousewheel的实例代码
Sep 05 Javascript
点击标签切换和自动切换DIV选项卡
Aug 10 Javascript
用jquery模仿的a的title属性的例子
Oct 22 Javascript
Jquery实现纵向横向菜单
Jan 24 Javascript
Thinkphp5微信小程序获取用户信息接口的实例详解
Sep 26 Javascript
jQuery判断网页是否已经滚动到浏览器底部的实现方法
Oct 27 jQuery
js实现图片上传并预览功能
Aug 06 Javascript
在小程序开发中使用npm的方法
Oct 17 Javascript
如何在Vue.js中实现标签页组件详解
Jan 02 Javascript
node.JS的crypto加密模块使用方法详解(MD5,AES,Hmac,Diffie-Hellman加密)
Feb 06 Javascript
Vue 3.0中jsx语法的使用
Nov 13 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 SQLite类
2009/05/07 PHP
利用Memcached在php下实现session机制 替换PHP的原生session支持
2010/08/21 PHP
php使用异或实现的加密解密实例
2013/09/04 PHP
php实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
ThinkPHP CURD方法之where方法详解
2014/06/18 PHP
PHP图片处理之图片旋转和图片翻转实例
2014/11/19 PHP
JavaScript 常见安全漏洞和自动化检测技术
2015/08/21 Javascript
jQuery+css实现的换页标签栏效果
2016/01/27 Javascript
用js控件div的滚动条,让它在内容更新时自动滚到底部的实现方法
2016/10/27 Javascript
js中的触发事件对象event.srcElement与event.target详解
2017/03/15 Javascript
AngularJS使用ng-class动态增减class样式的方法示例
2017/05/18 Javascript
layui文件上传实现代码
2017/05/20 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
2020/03/27 Javascript
Vuex提升学习篇
2018/01/11 Javascript
layui 实现自动选择radio单选框(checked)的方法
2019/09/03 Javascript
[01:39](回顾)各路豪强针锋相对,几经鏖战四强产生
2014/07/01 DOTA
使用python将mdb数据库文件导入postgresql数据库示例
2014/02/17 Python
python中from module import * 的一个坑
2014/07/20 Python
python字典操作实例详解
2017/11/16 Python
Django入门使用示例
2017/12/12 Python
python中使用%与.format格式化文本方法解析
2017/12/27 Python
python多线程同步之文件读写控制
2021/02/25 Python
Django 解决上传文件时,request.FILES为空的问题
2020/05/20 Python
Python加速程序运行的方法
2020/07/29 Python
简述python Scrapy框架
2020/08/17 Python
免费获得微软MCSD证书赶快行动吧!
2012/11/13 HTML / CSS
法国隐形眼镜网站:VisionDirect.fr
2020/03/03 全球购物
Oasis服装官网:时尚女装在线
2020/07/09 全球购物
宿舍打麻将检讨书
2014/01/24 职场文书
宣传保护环境的公益广告词
2014/03/13 职场文书
优秀班组事迹材料
2014/12/24 职场文书
2015年安全生产工作总结范文
2015/04/02 职场文书
小学语文教学随笔
2015/08/14 职场文书
CocosCreator如何实现划过的位置显示纹理
2021/04/14 Javascript
Django+Nginx+uWSGI 定时任务的实现方法
2022/01/22 Python
MySQL数据库事务的四大特性
2022/04/20 MySQL