首页 > 解决方案 > monorepo 中的ngrx“ReducerManager 没有提供者”

问题描述

我最近将我们的 monorepo 项目从 Angular V10 更新到了 V12,因此,ngrx 从版本 10.x 更新到了 12.2.0。

不幸的是,我们自己的库组件不再识别商店。

应用程序的主模块如下所示:

@NgModule({
    declarations: [
        LoggedInComponent,
    ],
    imports     : [
        StoreModule.forRoot({}),
        PortalModule,
        HeaderModule,
        ...
    ],
    bootstrap   : [LoggedInComponent],
})
export class FirstModule {
}

PortalModule 位于同一个应用程序中,并成功使用了 StoreModule.forFeature(...)。

HeaderModule 是库中的一个模块,它也使用 StoreModule.forFeature(...) 但这会导致以下错误: 错误描述

该设置在更新之前有效,我不知道为什么它不再有效。如果我在库中添加另一个 StoreModule.forRoot({}),错误就消失了,但似乎商店无法再进行通信了。就好像安装了两个不同版本的 ngrx 商店,而库使用了另一个版本而不是应用程序。

标签: angularngrxngrx-storemonorepo

解决方案


推荐阅读