Компиляция проекта angular с ошибкой «Произошла необработанная исключительная ситуация: NG CC не удалось» - PullRequest
15 голосов
/ 18 июня 2020

Я попытался скомпилировать свой проект и получил сообщение об ошибке:

Error: Error on worker #3: Error: No typings declaration can be found for the referenced NgModule class in static withConfig(configOptions, 
        // tslint:disable-next-line:max-line-length
        breakpoints = []) {
            return {
                ngModule: FlexLayoutModule,
                providers: configOptions.serverLoaded ?
                    [
                        { provide: LAYOUT_CONFIG, useValue: Object.assign(Object.assign({}, DEFAULT_CONFIG), configOptions) },
                        { provide: BREAKPOINT, useValue: breakpoints, multi: true },
                        { provide: SERVER_TOKEN, useValue: true },
                    ] : [
                    { provide: LAYOUT_CONFIG, useValue: Object.assign(Object.assign({}, DEFAULT_CONFIG), configOptions) },
                    { provide: BREAKPOINT, useValue: breakpoints, multi: true },
                ]
            };
        }.

Я использовал ng add @angular/material и npm install @angular/flex-layout@latest --save и получил эту ошибку.

До сих пор пробовал:

  • переустанавливать flexLayot много раз.
  • удалите node_modules и установите его еще раз.

Мои зависимости выглядят так:

"dependencies": {
    "@angular/animations": "^9.1.11",
    "@angular/cdk": "^9.2.4",
    "@angular/common": "~9.1.11",
    "@angular/compiler": "~9.1.11",
    "@angular/core": "~9.1.11",
    "@angular/flex-layout": "^10.0.0-beta.32",
    "@angular/forms": "~9.1.11",
    "@angular/material": "^9.2.4",
    "@angular/platform-browser": "~9.1.11",
    "@angular/platform-browser-dynamic": "~9.1.11",
    "@angular/router": "~9.1.11",
    "rxjs": "~6.5.5",
    "tslib": "^1.10.0",
    "zone.js": "~0.10.2"
  }

Кто-нибудь знает, что может быть неправильно?

Мой app.module.ts

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    BrowserAnimationsModule,
    SharedModule,
    HomeModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

, но я добавил Flex в общий модуль, поэтому вставлю также shared.module.ts


@NgModule({
  declarations: [],
  imports: [
    CommonModule,
    FlexLayoutModule
  ],
  exports: [
    FlexLayoutModule
  ]
})
export class SharedModule { }

Ответы [ 2 ]

35 голосов
/ 18 июня 2020

Вернитесь к FlexLayout 9.0.0-beta.31. Согласно его журналу изменений, используемая вами версия "(...) добавляет поддержку Angular v10 и Angular CDK v10."

@ angular 's ModuleWithProviders не является универсальным в @ angular 9.xx, но он находится в @ angular 10 r c .x. FlexLayout x.x.x-beta.32 начал использовать общую c версию (ModuleWithProviders<T>), поэтому он больше не работает с @ angular версиями <10. Вам нужно будет снова переключиться на <code>FlexLayout 9.0.0-beta.31.

В вашем пакете. json замените "@angular/flex-layout": "^10.0.0-beta.32" на "@angular/flex-layout": "~9.0.0-beta.31" и снова запустите npm install ( или просто npm install @angular/flex-layout@9.0.0-beta.31")

7 голосов
/ 20 июня 2020

Переустановите flex-layout командой

npm i @angular/flex-layout@9.0.0-beta.31

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...