天天看點

SAP Spartacus 标準的 Effects 實作的注入原理

先研究标準的 effect 為何可以被 call 到:在 ProductReviewsEffects 構造函數裡設定斷點:

SAP Spartacus 标準的 Effects 實作的注入原理
發現在通路首頁時,斷點即觸發。
SAP Spartacus 标準的 Effects 實作的注入原理
為什麼 AppModule 啟動時,就要加載 ProductReviewEffect?
SAP Spartacus 标準的 Effects 實作的注入原理
單擊 AppModule,就跳轉到我自定義的 AppModule 檔案了,但是該檔案裡并沒有 ProductReviewEffect:
SAP Spartacus 标準的 Effects 實作的注入原理
這個 EffectFeatureModule 是标準架構的實作:
SAP Spartacus 标準的 Effects 實作的注入原理
Spartacus 所有标準的 Effects 執行個體,都是在下列代碼 ngrx-effects.js 裡執行個體化的:
SAP Spartacus 标準的 Effects 實作的注入原理
SAP Spartacus 标準的 Effects 實作的注入原理
問題就是,對于 AppModule 而言,這些 Effects 是從哪裡解析出來的?
SAP Spartacus 标準的 Effects 實作的注入原理
看一下标準的 Effects 是怎麼做的?
SAP Spartacus 标準的 Effects 實作的注入原理
SAP Spartacus 标準的 Effects 實作的注入原理

解決方案

SAP Spartacus 标準的 Effects 實作的注入原理

最後,生效了:

SAP Spartacus 标準的 Effects 實作的注入原理

繼續閱讀