我很努力地在新鮮的角度項目中使用sass。我使用CLI創建了--style=scss
標誌,然後使用"styleExt": "scss"
和"styles": ["styles.scss"]
更新了.angular-cli.json
文件內容。項目建設取得了成功,但來自xyz.component.scss
等文件的樣式未編譯,因此未包含在樣式包中。在角度項目中綁定scss文件的方式
我設法將組件樣式文件添加到.angular-cli.json
文件"styles": ["styles.scss", "./path/to/file/xyz.component.scss"]
但這導致運行時錯誤:Error: Uncaught (in promise): Expected 'styles' to be an array of strings
。
爲避免此錯誤,我從xyz.component.ts
文件中的@Component
註釋中刪除了styleUrls: ['./xyz.component.scss']
。
現在一切正常,但我不明白這些scss文件正在發生什麼。爲什麼我必須從@Component
刪除對他們的引用? (當使用ng g component
cli命令時,它們被自動引用)。是否有其他選項可以使其工作,而不需要參考.angular-cli.json
中的.scss
文件並使用@Component
參考?
我的版本設置:
@angular/cli: 1.2.7
node: 6.10.0
os: win32 x64
@angular/animations: 4.3.3
@angular/common: 4.3.3
@angular/compiler: 4.3.3
@angular/core: 4.3.3
@angular/forms: 4.3.3
@angular/http: 4.3.3
@angular/platform-browser: 4.3.3
@angular/platform-browser-dynamic: 4.3.3
@angular/router: 4.3.3
@angular/cli: 1.2.7
@angular/compiler-cli: 4.3.3
@angular/language-service: 4.3.3
如果您從頭開始一個新項目,該怎麼辦? 'ng new my-proj --style = scss'?那對你有用嗎? –
@GioraGuttsait我也嘗試用該命令創建新項目,但結果相同。 –