簡體   English   中英

編譯 angular 項目時出現“未處理的異常:NGCC 失敗”

[英]Compiling angular project with “An unhandled exception occurred: NGCC failed”

我試圖編譯我的項目,但出現錯誤:

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/materialnpm 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 { }

切換回FlexLayout 9.0.0-beta.31 根據其變更日志,您使用的版本“(...)增加了對 Angular v10 和 Angular CDK v10 的支持。”

ModuleWithProviders的 ModuleWithProviders 不是 @angular 9.xx 中的 generics,但它在 @angular 10 rc.x 中。 FlexLayout xxx-beta.32開始使用通用版本 ( ModuleWithProviders<T> ),因此它不再適用於 @angular 版本 < 10。您需要切換回FlexLayout 9.0.0-beta.31

在您的 package.json 中,將"@angular/flex-layout": "^10.0.0-beta.32""@angular/flex-layout": "~9.0.0-beta.31" npm install運行再次npm install或簡單地npm install @angular/flex-layout@9.0.0-beta.31"

通過命令重新安裝 flex-layout

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM