[英]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/material
和npm install @angular/flex-layout@latest --save
,我得到了這個錯誤。
直到現在我試過:
我的依賴項如下所示:
"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.