6 votes

WARNING dans Dépassement du budget maximum lors de l'importation de ~@angular/material/theming

J'importe ~@angular/material/theming dans plusieurs de mes fichiers .scss afin d'avoir accès aux palettes de couleurs des matériaux.

Après la mise à jour vers Angular 9, j'ai reçu l'avertissement de construction suivant :

WARNING dans Dépassement du budget maximum pour [.scss file path]. Le budget de 6 kB n'a pas été respecté de 202 kB avec un total de 208 kB.

La plupart de ce dépassement de budget provient de l'importation de ~@angular/material/theming. Est-il possible d'augmenter les budgets dans angular.json à ~2-500kB, quels sont les inconvénients de faire cela ?

10voto

df1 Points 314

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é.

2voto

Jonnefoy Points 76

La même erreur m'est arrivée en utilisant ng xi18n

Essayez de déplacer votre angular.json budgets de :

architect.build.options.budgets

à :

architect.build.configurations.production.budgets

Vérifiez les documents angulaires https://angular.io/guide/build#configuring-size-budgets :

Définissez vos limites de taille dans le fichier de configuration CLI, angular.json, dans une section budgets pour chaque environnement configuré.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X