2017-11-27 16 views
6

私は私のプロジェクトのために以下のモジュールが必要になります。循環依存エラーTransferHttpCacheModule、LocalizeRouterModule、TranslateModule

TranslateModule LocalizeRouterModule TransferHttpCacheModule

は、どういうわけか、モジュールのこの組み合わせは、循環依存を作成しています。 TransferHttpCacheModuleと

TranslateModule - LocalizeRouterModuleで TranslateModuleに動作します -

に動作します。しかし、私は3つすべてをインポートするとき、それは依存関係の循環を引き起こしています。

循環依存関係をインスタンス化できません! ApplicationRef( "[ERROR] - > []"):NgModule AppBrowserModuleで./[email protected]:-1

は、問題の再現にplnkrを確認してください:https://plnkr.co/edit/qlUQ866JzTa3JtFgSAIO?p=preview

@NgModule({ 
imports: [ 
    HttpClientModule, 
    BrowserModule, 
    BrowserAnimationsModule, 
    TransferHttpCacheModule, 
    TranslateModule.forRoot({ 
     loader: { 
     provide: TranslateLoader, 
     useFactory: HttpTranslationLoaderFactory, 
     deps: [HttpClient] 
     } 
    }), 
    LocalizeRouterModule.forRoot([], { 
     parser: { 
     provide: LocalizeParser, 
     useFactory: HttpLoaderFactory, 
     deps: [TranslateService, Location, LocalizeRouterSettings] 
     } 
    }), 
    RouterModule.forRoot([]) 
], 
declarations: [ 
    AppComponent 
], 
providers: [ 

], 
bootstrap: [AppComponent] 
}) export class AppModule { } 

答えて

4

あなたがする必要はありませんインポート時にLocalizeRouterModuleを持つことができます。なぜなら、それは周期的なdepdendencyを引き起こしているプロバイダに注入できるからです。

次のように働いてレポが必要な場合は、example

+0

としてこれを見て、私はあなたのリポジトリを見て、そこにいることがわかり、

@NgModule({ imports: [ HttpClientModule, BrowserModule, BrowserAnimationsModule, TransferHttpCacheModule, TranslateModule.forRoot({ loader: { provide: TranslateLoader, useFactory: (createTranslateLoader), deps: [HttpClient] } }), RouterModule.forRoot([]) ], declarations: [ AppComponent, LocalizeRouterPipe ], providers: [TranslateModule ], bootstrap: [AppComponent] }) 

PLUNKER

それを修正しますAngularアプリケーションのブラウザ側でLocalizeRouterModuleをインポートしています。私が直面している問題は、サーバー側ではなく、ブラウザ上です。あなたは私に働くプランナーをくれますか? –

+0

添付されたプランカーを確認しましたか?サーバー側ではどういう意味ですか? – Sajeetharan

+0

添付したのと同じプランナーを添付しました。あなたのリポジトリでは、app.module.browser.tsがLocalizeRouterModuleをインポートしており、app.module.tsがTranslateModuleとTransferHttpCacheModuleをインポートしていることがわかります。これはまさに私が働こうとしているものですが、サイクル依存性のエラーを引き起こしています。あなたは私に働くプランナーをくれますか? –