2017-08-05 158 views
1

我都跟着official guide並用以下內容創建一個app-theme.scss角材料 - 無法解析 '@角/材料/主題化'

內容的 styles.css
@import '[email protected]/material/theming';  
@include mat-core();  
$candy-app-primary: mat-palette($mat-indigo); 
$candy-app-accent: mat-palette($mat-pink, A200, A100, A400);  
$candy-app-warn: mat-palette($mat-red);  
$candy-app-theme: mat-light-theme($candy-app-primary, $candy-app-accent, $candy-app-warn);  
@include angular-material-theme($candy-app-theme); 

@import './app-theme.scss'; 

但是,在編譯期間,我總是得到以下錯誤:Module not found: Error: Can't resolve '@angular/material/theming'。我必須做些什麼才能使其工作?

+0

您正在使用哪種版本的角材料? – Faisal

+1

@Faisal @ angular/material @ 2.0.0-beta。8 – nkxandroid

+0

然後看我的答案,那應該可以解決你的問題 – Faisal

回答

0

解決:

  1. 重命名styles.cssstyles.scss,並設置其內容@import './app-theme';
  2. angular-cli.json,改變styles: ["styles.css"]styles: ["styles.scss"]
  3. 重啓NPM
+0

重啓'npm'是指'ng serve'還是別的? – WASIF

0

根據您提供的官方指南,您不應該將您的主題文件導入到您的styles.css文件中,而應該將其放入您的angular-cli.json文件的樣式數組中,它應該是某種東西接近這個:

styles: [ 
    "app-theme.scss", 
    "styles.css" 
] 
+1

如果我這樣做,我會得到「無法找到Angular Material核心主題。」和破碎的視圖 – nkxandroid

+0

您是否安裝了@ angular/material? npm install --save @ angular/material @ angular/cdk –

+1

是的,我可以使用預置的主題和組件,例如MdButton沒有任何問題。 – nkxandroid

1

試試這個,

  1. 更改主題文件名_app-theme.scss

  2. 改變你的S tyles.css到styles.scss

  3. 導入主題時,如styles.scss文件:

@import './path/to/your/theme/app-theme'; //你不需要的 下劃線和這裏的文件擴展

  • 你不需要包括角cli.json風格的主題文件:[]
  • 1

    我使用角5,只是去掉波浪從import語句是這樣的:

    @import "@angular/material/prebuilt-themes/indigo-pink.css"; 
    

    錯誤了! :)

    0

    你確定,你已經在這個項目中安裝角材料?有時你只能複製網頁的內容,但沒有node_modules文件夾,在這種情況下,編譯器找不到路徑'node_modules/@ angular/material/theming'。

    只要試試這個命令,你會看到。

    npm install --save @angular/material @angular/cdk 
    

    它可以幫助。