Outre ~@angular/material/theming
a été mat-core()
également importé accidentellement ? Selon Document sur les matériaux angulaires :
Cette information ne doit être incluse qu'une seule fois dans votre candidature. Si ce mixin est inclus plusieurs fois, votre application se retrouvera avec plusieurs copies de ces styles communs.
Dans mon cas, je voulais juste accéder à la base de données de la $primary
et $accent
couleurs dans mes propres fichiers css. Voici ce que j'ai fait :
Créer un _variables.scss
qui peuvent être importés n'importe où dans l'application
@import "~@angular/material/theming";
$primaryPalette: mat-palette($mat-pink, 700);
$accentPalette: mat-palette($mat-blue-grey, A200, A100, A400);
$warnPalette: mat-palette($mat-red);
$theme: mat-dark-theme($primaryPalette, $accentPalette, $warnPalette);
$primary: map-get($theme, primary);
$accent: map-get($theme,accent);
$background: map-get($theme, background);
$foreground: map-get($theme, foreground);
Créer un theme.scss
et l'ajouter dans angular.json
's styles
tableau
@import "~@angular/material/theming";
@import "_variables";
@include mat-core();
@include angular-material-theme($theme);
Et alors tout fonctionne, sans gonfler le css compilé.