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

不過,我的不太推薦隨意修改全局配置,個性話配置仍是在項目中處理比較好。

相關文章
相關標籤/搜索