2017-08-05 166 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 
    

    它可以帮助。