プロジェクトをコンパイルしようとしましたが、エラーが発生しました:
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 { }
ベストアンサー1
に切り替えますFlexLayout 9.0.0-beta.31
。変更履歴によると、使用しているバージョンは「(...) Angular v10 および Angular CDK v10 のサポートが追加されました。」
@angular の はModuleWithProviders
、@angular 9.xx ではジェネリックではありませんが、@angular 10 rc.x ではジェネリックです。FlexLayout x.x.x-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 @angular/[email protected]"
)