经过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.lessspa
思考:
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
不过,我的不太推荐随意修改全局配置,个性话配置仍是在项目中处理比较好。