【问题标题】:Angular 4 - Material Theme customizationAngular 4 - 材质主题定制
【发布时间】:2018-08-26 16:24:53
【问题描述】:

我正在尝试在 Angular Material 中设置我的自定义主题。我的问题是当我想导入 mixin angular-material-theme 时,我收到了这个错误:

错误 ./node_modules/raw-loader!./node_modules/postcss-loader/lib??embedded!./node_modules/sass-loader/lib/loader.js??ref--8-3!./src/theme.scss 模块构建失败:未定义 ^ map-get($map, $key) 的参数 $map 必须是地图

回溯: node_modules/@angular/material/_theming.scss:1166,在函数map-get node_modules/@angular/material/_theming.scss:1166,在函数mat-color node_modules/@angular/material/_theming.scss:1325,在 mixin mat-option-theme node_modules/@angular/material/_theming.scss:3739,在 mixin mat-core-theme node_modules/@angular/material/_theming.scss:3808,在 mixin angular-material-theme 标准输入:12 在 E:\PC_SHOP\pcShop-Final\PcShop-Final\node_modules\@angular\material_theming.scss (第 1166 行,第 11 列)

我的 sass 代码:

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

@include mat-core();

$primary: mat-pallete($mat-orange, 500);
$accent: mat-palette($mat-blue-grey, 800);
$warn: mat-palette($mat-pink, 400);

$app-theme: mat-light-theme($primary, $accent, $warn);

@include angular-material-theme($app-theme);

【问题讨论】:

  • 发布代码图像而不是代码本身会拒绝索引能力,因此其他有相同错误的用户不会通过搜索错误消息找到您的问题。简而言之,你在寻求帮助的同时拒绝帮助他人。考虑用代码本身替换图像。
  • 好的,我会记住的,谢谢

标签: css angular sass


【解决方案1】:

只是一个错字而已,这就是为什么它没有映射到颜色并且你得到那个错误(你有pallete而不是palette)。应该是:

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

@include mat-core();

$primary: mat-palette($mat-orange, 500);
$accent: mat-palette($mat-blue-grey, 800);
$warn: mat-palette($mat-pink, 400);

$app-theme: mat-light-theme($primary, $accent, $warn);

@include angular-material-theme($app-theme);

【讨论】:

  • 错别字应在 cmets 中发出信号,建议删除问题。它不会帮助其他任何人,而这正是 SO 上 QA 的主要目的:为未来的访问者提供帮助。简而言之,这个问题是题外话,不应该回答。此外,它发布的是代码图像,而不是代码本身。因此,对于具有相同错误的其他人来说,它不会被索引。最好不要回答低质量的问题。
  • @AndreiGheorghiu 在我知道之前就发生在我身上。我无法在任何地方的堆栈溢出中找到它,因为该错误并不完全相关。我的回答解释了错误和正确的解决方案。虽然我同意可以在评论中完成,但在这种情况下,答案似乎是合适的。
  • 我只是认为如果我告诉您您的答案忽略了哪些一般 SO 原则会对您有所帮助。有关详细信息,请参阅How to Answer。让它飞起来的决定完全是你的。快乐编码!ツ
猜你喜欢
  • 1970-01-01
  • 2019-06-11
  • 2018-01-02
  • 2019-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-08
  • 1970-01-01
相关资源
最近更新 更多