我正在将Angular 从v14更新到v15。我已经执行了命令“ng update @angular/core@15@angular/cli@15”和“ng update @angular/material@15”。
尝试启动应用程序时,我得到这个错误:
ERROR in ./src/app/shared/components/warning-dialog/warning-dialog.component.scss?ngResource
Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
SassError: Only 0 arguments allowed, but 1 was passed.
┌──> src/styles/theme.scss
177│ @include mat.core($regular-font);
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ invocation
╵
┌──> node_modules/@angular/material/core/_core.scss
8 │ @mixin core() {
│ ━━━━━━ declaration
╵
src/styles/theme.scss 177:1 core()
src/styles/theme.scss 177:1 @import
src/app/shared/components/warning-dialog/warning-dialog.component.scss 1:9 root stylesheet
@ ./src/app/shared/components/warning-dialog/warning-dialog.component.ts 11:0-78 40:17-37
@ ./src/app/shared/shared.module.ts 73:0-94 112:4-26
@ ./src/app/app.module.ts 37:0-54 74:12-32
@ ./src/main.ts 3:0-45 9:41-50
这是我的主题。
>
> @use '~@angular/material' as mat;
>
> $mat-theme-ignore-duplication-warnings: true;
>
> $color-xxx-accent1-shade2: #ffea99; $color-xxx-accent5-shade2:
> #8ba68a; $color-xxx-accent6-shade1: #B21014; $color-xxx-basic3-shade2: #c2c2c2;
>
>
>
>
>
>
> /* Color Theme */ $xxx-normal-palette: ( 50 : #FFFFFF,
> // color-xxx-basic5 100 : #E9EBF1, // color-xxx-highlight-shade3
> 200 : #D2DAE3, // color-xxx-highlight-shade2 300 : #BDC6D6, //
> color-xxx-highlight-shade1 400 : #92A2BD, // color-xxx-highlight
> 500 : #6c7c97, // color-xxx-form-button-main-dark 600 : #ACBCD7,
> // color-xxx-form-button-main-light 700 : #7C89A1, //
> color-xxx-form-button-shade1 800 : #526482, //
> color-xxx-form-button-shade2 900 : #000000, // color-xxx-form-text
> A100 : #444444, // color-xxx-basic4 A200 : #666666, //
> color-xxx-basic3 A400 : #EEEFEA, // color-xxx-basic2 A700 :
> #AAA38E, // color-xxx-basic1 contrast: (
> 50 : #000000,
> 100 : #000000,
> 200 : #000000,
> 300 : #000000,
> 400 : #000000,
> 500 : #000000,
> 600 : #000000,
> 700 : #000000,
> 800 : #000000,
> 900 : #000000,
> A100 : #000000,
> A200 : #000000,
> A400 : #000000,
> A700 : #000000, ) );
>
> $xxx-normal-palette-accent: ( 50 : #FFF5CC, //
> color-xxx-accent1-shade3 100 : #FFEA99, // color-xxx-accent1-shade2
> 200 : #FDDF66, // color-xxx-accent1-shade1 300 : #FECB00, //
> color-xxx-accent1 400 : #FF9100, // color-xxx-form-border-accent
> 500 : #ffad1f, // color-xxx-signal3 600 : #E5E3DD, //
> color-xxx-basic1-shade3 700 : #D4D1C6, // color-xxx-basic1-shade2
> 800 : #C3BEB0, // color-xxx-basic1-shade1 900 : #F6F6F6, //
> color-xxx-table-shade A100 : #E0E0E0, // color-xxx-basic3-shade3
> A200 : #C2C2C2, // color-xxx-basic3-shade2 A400 : #A3A3A3, //
> color-xxx-basic3-shade1 A700 : #666666, // color-xxx-basic3
> contrast: (
> 50 : #000000,
> 100 : #000000,
> 200 : #000000,
> 300 : #000000,
> 400 : #000000,
> 500 : #000000,
> 600 : #000000,
> 700 : #000000,
> 800 : #000000,
> 900 : #000000,
> A100 : #000000,
> A200 : #000000,
> A400 : #000000,
> A700 : #000000, ) );
>
> $xxx-normal-palette-warn: ( 50 : #ECEECC, //
> color-xxx-accent3-shade3 100 : #DADE99, // color-xxx-accent3-shade2
> 200 : #C7CE66, // color-xxx-accent3-shade1 300 : #A2AD00, //
> color-xxx-accent3 400 : #3db014, // color-xxx-signal2 500 :
> #d20000, // color-xxx-signal1 600 : #DADADA, // color-xxx-accent2-shade3 700 : #B4B4B4, // color-xxx-accent2-shade2
> 800 : #8F8F8F, // color-xxx-accent2-shade1 900 : #D26666, //
> color-xxx-accent2 A100 : #EFEFEF, // color-xxx-form-button A200 :
> #D9D9D9, // color-xxx-form-field A400 : #999999, // color-xxx-form-border A700 : #000000, // color-xxx-form-text
> contrast: (
> 50 : #000000,
> 100 : #000000,
> 200 : #000000,
> 300 : #000000,
> 400 : #000000,
> 500 : #000000,
> 600 : #000000,
> 700 : #000000,
> 800 : #000000,
> 900 : #000000,
> A100 : #000000,
> A200 : #000000,
> A400 : #000000,
> A700 : #000000, ) );
>
> $xxx-primary: mat.define-palette($xxx-normal-palette);
> $xxx-accent: mat.define-palette($xxx-normal-palette-accent);
> $xxx-warn: mat.define-palette($xxx-normal-palette-warn);
>
> $xxx-theme: mat.define-light-theme($xxx-primary,
> $xxx-accent, $xxx-warn);
>
> @include mat.all-component-themes($xxx-theme);
>
> /* xxx Typography */ @font-face { font-family: "xxxGroup_Cond_Bold";
> src: url('assets/fonts/xxxGroup_Cond_Bold.ttf') format("truetype");
> font-style: normal; font-weight: normal; }
>
> @font-face { font-family: "xxxGroup_Cond_Regular"; src:
> url('assets/fonts/xxxGroup_Cond_Regular.ttf') format("truetype");
> font-style: normal; font-weight: bold; }
>
> $xxx-bold-font: mat.define-legacy-typography-config( $font-family:
> 'Group_Cond_Bold', $headline:
> mat.define-typography-level(18px, 32px, 700), $title:
> mat.define-typography-level(20px, 32px, 700) );
>
> $xxx-regular-font: mat.define-legacy-typography-config(
> $font-family: 'Group_Cond_Regular', $display-4:
> mat.define-typography-level(112px, 112px, 300), $display-3:
> mat.define-typography-level(56px, 56px, 400), $display-2:
> mat.define-typography-level(45px, 48px, 400), $display-1:
> mat.define-typography-level(34px, 40px, 400), $subheading-2:
> mat.define-typography-level(16px, 28px, 400), $subheading-1:
> mat.define-typography-level(16px, 24px, 400), $body-2:
> mat.define-typography-level(14px, 24px, 500), $body-1:
> mat.define-typography-level(14px, 20px, 400), $caption:
> mat.define-typography-level(12px, 20px, 400), $button:
> mat.define-typography-level(14px, 14px, 500), $input:
> mat.define-typography-level(inherit, 1.125, 400) );
>
> /* Font sizes */ $font-size-large-18: 18px; $font-size-large-24:
> 24px; $font-size-normal-12: 12px; $font-size-normal-16: 16px;
> $font-size-small-10: 10px; $font-size-small-8: 8px;
>
> /* Font weights */ $font-weight-bold: 700; $font-weight-normal:
> 400; $font-weight-thin: 300;
>
> @include mat.typography-hierarchy($xxx-regular-font);
>
> @include mat.all-component-typographies($xxx-regular-font);
>
> /* Be sure that you only ever include this mixin once! */ @include
> mat.core($xxx-regular-font);
>
>
> /* Button colours */ .mat-button, .mat-button-toggle,
> .mat-raised-button { &.mat-raised-button:hover {
> background-color: mat.get-color-from-palette($xxx-accent, 700); } &.mat-primary:not(:hover) {
> background-color: mat.get-color-from-palette($xxx-primary, 400);
> color: mat.get-color-from-palette($xxx-primary, 50); } &.mat-primary:hover {
> background-color: mat.get-color-from-palette($xxx-primary, 500);
> color: mat.get-color-from-palette($xxx-primary, 50); } &.mat-primary[disabled] {
> background-color: mat.get-color-from-palette($bxxx-primary, 300);
> color: mat.get-color-from-palette($xxx-primary, 100); } }
我已经删除了node_modules和package-lock,然后重新安装了一遍。但是没有用。
我还删除了材料,并再次安装了v14。这样就没有错误。然后我更新到v15,又有错误了。
那么,我必须适应材料的变化吗?但是什么,以及如何适应?
我将非常感谢任何帮助!我一直在寻找解决方案,但还没有成功。
1条答案
按热度按时间ijnw1ujt1#
随着
@angular/material
迁移到MDC,define-typography-config
的定义在V15中发生了变化。前一个现在在
define-legacy-typography-config
下。所以你有两个选择:
define-legacy-typography-config
define-typography-config
,其定义如下:编辑:
您应该将排版直接传递给主题:
材料定义光主题($theme),