角度材料无法找到Angular Material核心主题

luk*_*ssz 71 themes angular

在我的Angular2项目中,我从https://material.angular.io/guide/getting-started安装了最新的材质插件.接下来,我将@import '~@angular/material/prebuilt-themes/deeppurple-amber.css';我的css文件添加到我的组件中.但是在我的控制台中Angular显示了这个错误:

material.es5.js:148无法找到Angular Material核心主题.大多数材料组件可能无法按预期工作.欲了解更多信息请参阅主题化指南:https://material.angular.io/guide/theming `

材料组件不起作用.怎么了?

cod*_*sme 140

请将以下代码插入到您的src文件夹中的style.css中.

@import "../node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css";
Run Code Online (Sandbox Code Playgroud)

您可以在prebuilt-themes文件夹下选择任何css .

  • 使用〜可以更轻松地访问节点模块.示例:@import'~@angular/material/prebuilt-themes/deeppurple-amber.css'; (13认同)
  • 正如@jelbourn在Issues [4739](https://github.com/angular/material2/issues/4739)中提到的:在**Global**(styles.css)中加载prebuilt-themes,而不是在Component**中加载**styleUrls**. (2认同)

cmc*_*voy 18

我让它使用以下步骤:

1)将此(或其他)材质主题导入主css文件:

@import "../node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css";
Run Code Online (Sandbox Code Playgroud)

2)还要确保使用app.component文件注册此主css 文件

@Component({
  selector: 'app',
  styleUrls: [
    './app.component.css'
  ]
})
Run Code Online (Sandbox Code Playgroud)

3)仔细检查你所需要的组件从进口@角/材料app.module文件

import { MdCardModule, MdInputModule } from '@angular/material';
Run Code Online (Sandbox Code Playgroud)


Moh*_*han 14

将该代码放入angular-cli.json文件中

"styles": [
    "../node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css"
  ],
Run Code Online (Sandbox Code Playgroud)

它对我来说很好

  • 这是最好的答案。如果您在运行 ``ng add @angular/material``` 后在 9+ 版本中遇到此错误,只需终止批处理作业并重新运行应用程序,有时编译时配置未完全加载。 (6认同)
  • 这是真正的正确答案。切勿使用style.css导入其他CSS。始终使用angular.json文件。 (2认同)

nPc*_*omp 10

将以下行添加到您的src/styles.css

@import '~@angular/material/prebuilt-themes/deeppurple-amber.css';

您也可以尝试其他 Css 类。以下是可用的课程:

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

@import '~@angular/material/prebuilt-themes/deeppurple-amber.css';

@import '~@angular/material/prebuilt-themes/pink-bluegrey.css';

@import '~@angular/material/prebuilt-themes/purple-green.css';


小智 6

添加:

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

给你的style.css


G.V*_*lli 6

如果您只需要材质图标并且不想导入整个材质 css,请在根 css 中使用它:

/** disable angular mat theme warning */
.mat-theme-loaded-marker {
  display: none;
}
Run Code Online (Sandbox Code Playgroud)