Angular CLI 生成项目时css less scss样式使用说明

经过Angular-CLI命令行工具建立可指定样式的项目
step1.建立采用css的angular项目css

ng new test1

默认会生成一个新的angular项目,检查angular-cli.json配置文件会发现:html

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

step2.利用CLI命令行建立采用scss的angular项目json

ng new test2 --style=scss

检查angular-cli.json的配置app

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

step3.利用CLI命令航建立采用less的angular项目less

ng new test --style=less

1)检查angular-cli.json的配置工具

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

2)截图能够看到生成了一个style.less文件
图片描述ui

3)检查angular-cli.json看配置发现引用的样式是styles.less
图片描述spa

思考:
1.若是建立项目时指定了采用css,less或者scss,那么使用过程当中能够在组件的styleUrl中配置任意的样式吗?
实际项目过程当中验证:
若是默认采用less进行指定styles的话,在经过angular-cli命令建立组件
$ ng g c cmp1
create src/app/cmp1/cmp1.component.less (0 bytes)
create src/app/cmp1/cmp1.component.html (23 bytes)
create src/app/cmp1/cmp1.component.spec.ts (614 bytes)
create src/app/cmp1/cmp1.component.ts (262 bytes)
update src/app/app.module.ts (388 bytes)
建立的组件默认会建立一个less文件而不是.css文件,保持了angular-cli命令行的一致性。同理css和scss也是同样的表现。
2.默认采用css若是手工不经过angular-cli命令进行组件建立,指定less或者scss,angular会识别吗?
通过实际项目验证,默认为css,建立组件指定为scss或者less,ng build打包也是能够识别的可见angular的编译仍是很聪明的,考虑了混合的场景。命令行

若是须要修改全局angular配置,也就是不输入--style 就能建立出 scss或者less,则经过以下修改方式进行:code

ng set --global defaults.styleExt scss

不过,我的不太推荐随意修改全局配置,个性话配置仍是在项目中处理比较好。

相关文章
相关标签/搜索