角材料 - 无法解析 '@角/材料/主题化'
我都跟着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'
。我必须做些什么才能使其工作?
解决:
- 重命名
styles.css
到styles.scss
,并设置其内容@import './app-theme';
- 在
angular-cli.json
,改变styles: ["styles.css"]
到styles: ["styles.scss"]
- 重启NPM
重启'npm'是指'ng serve'还是别的? – WASIF
根据您提供的官方指南,您不应该将您的主题文件导入到您的styles.css文件中,而应该将其放入您的angular-cli.json文件的样式数组中,它应该是某种东西接近这个:
styles: [
"app-theme.scss",
"styles.css"
]
如果我这样做,我会得到“无法找到Angular Material核心主题。”和破碎的视图 – nkxandroid
您是否安装了@ angular/material? npm install --save @ angular/material @ angular/cdk –
是的,我可以使用预置的主题和组件,例如MdButton没有任何问题。 – nkxandroid
试试这个,
更改主题文件名
_app-theme.scss
改变你的S tyles.css到
styles.scss
导入主题时,如styles.scss文件:
@import './path/to/your/theme/app-theme'; //你不需要的 下划线和这里的文件扩展
- 你不需要包括角cli.json风格的主题文件:[]
我使用角5,只是去掉波浪从import语句是这样的:
@import "@angular/material/prebuilt-themes/indigo-pink.css";
错误了! :)
你确定,你已经在这个项目中安装角材料?有时你只能复制网页的内容,但没有node_modules文件夹,在这种情况下,编译器找不到路径'node_modules/@ angular/material/theming'。
只要试试这个命令,你会看到。
npm install --save @angular/material @angular/cdk
它可以帮助。
您正在使用哪种版本的角材料? – Faisal
@Faisal @ angular/material @ 2.0.0-beta。8 – nkxandroid
然后看我的答案,那应该可以解决你的问题 – Faisal