如何修复 Angular 2 中的错误“找不到 Angular Material 核心主题”?
How to fix the error “Could not find Angular Material core theme” in Angular 2?
我几乎是 Angular2 的新手,继承了 Angular2 前端的项目。在控制台上切换到新的 Angular 4.0 后,我看到错误:
"compatibility.ts:221 Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"
mdb.min.css 在 app/assets/css 文件夹中。 package.json 中的规范显示如下:
"@angular/common": "^4.0.0",
"@angular/compiler": "^4.0.0",
"@angular/core": "^4.0.0",
...
"angular-bootstrap-md": "*"
如何修复错误?
您必须将主题导入全局 css 或 sass 文件:
@import "~@angular/material/prebuilt-themes/indigo-pink.css";
或者将其包含在您的 index.html
文件中:
<link href="node_modules/@angular/material/prebuilt-themes/indigo-pink.css" rel="stylesheet">
正如在 theming documentation 中已经提到的 Angular Material 提供了以下预建主题:
- 深紫色-amber.css
- 靛蓝-pink.css
- 粉色-bluegrey.css
- 紫色-green.css
您必须包含这些主题之一,或者创建您自己的自定义主题。
将@import 添加到 styles.css
对我不起作用,将主题添加到 angular.json
就成功了
您可以使用以下方法将默认 angular-material-theme 替换为 above-mentioned angular-material-theme 之一。
您可以直接在 styles.css 文件中包含 pre-built angular-material-theme。
@import '@angular/material/prebuilt-themes/deeppurple-amber.css';
或在 index.html 文件的 head 标签内添加以下内容。
<link href="node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css" rel="stylesheet">
或更新 angular.json 文件中的以下内容。
"styles": [
{
"input": "node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css"
},
"src/styles.css"
],
导入到 .sass 文件 / index.html / angular.json [= 后,我从 Angular 版本 7 升级到 8.Even 16=] 再次尝试单独升级 angular material ,问题解决了。
ng update @angular/material@latest
请将以下代码插入您的 styles.css 或 styles.scss 中,它位于您的 src 文件夹中。
@import "../node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css";
您可以select prebuilt-themes 文件夹下的任何css。
我几乎是 Angular2 的新手,继承了 Angular2 前端的项目。在控制台上切换到新的 Angular 4.0 后,我看到错误:
"compatibility.ts:221 Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"
mdb.min.css 在 app/assets/css 文件夹中。 package.json 中的规范显示如下:
"@angular/common": "^4.0.0",
"@angular/compiler": "^4.0.0",
"@angular/core": "^4.0.0",
...
"angular-bootstrap-md": "*"
如何修复错误?
您必须将主题导入全局 css 或 sass 文件:
@import "~@angular/material/prebuilt-themes/indigo-pink.css";
或者将其包含在您的 index.html
文件中:
<link href="node_modules/@angular/material/prebuilt-themes/indigo-pink.css" rel="stylesheet">
正如在 theming documentation 中已经提到的 Angular Material 提供了以下预建主题:
- 深紫色-amber.css
- 靛蓝-pink.css
- 粉色-bluegrey.css
- 紫色-green.css
您必须包含这些主题之一,或者创建您自己的自定义主题。
将@import 添加到 styles.css
对我不起作用,将主题添加到 angular.json
就成功了
您可以使用以下方法将默认 angular-material-theme 替换为 above-mentioned angular-material-theme 之一。
您可以直接在 styles.css 文件中包含 pre-built angular-material-theme。
@import '@angular/material/prebuilt-themes/deeppurple-amber.css';
或在 index.html 文件的 head 标签内添加以下内容。
<link href="node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css" rel="stylesheet">
或更新 angular.json 文件中的以下内容。
"styles": [
{
"input": "node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css"
},
"src/styles.css"
],
导入到 .sass 文件 / index.html / angular.json [= 后,我从 Angular 版本 7 升级到 8.Even 16=] 再次尝试单独升级 angular material ,问题解决了。
ng update @angular/material@latest
请将以下代码插入您的 styles.css 或 styles.scss 中,它位于您的 src 文件夹中。
@import "../node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css";
您可以select prebuilt-themes 文件夹下的任何css。