經過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
不過,我的不太推薦隨意修改全局配置,個性話配置仍是在項目中處理比較好。