NgRX EffectsModule 使我的环境 http 配置未定义

NgRX EffectsModule makes my environment http config undefined

将 EffectModule 导入 AppModule 使我的环境配置无法加载 http 服务。我正在使用 angular 11.2 和 @ngrx/effects 12.3.

import { APP_INITIALIZER, NgModule } from '@angular/core';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { HttpClientModule } from '@angular/common/http';
import { CoreModule } from './core/core.module';
import { CommonModule } from '@angular/common';
import { StoreModule } from '@ngrx/store';
import { reducers, metaReducers } from './store';
import { StoreDevtoolsModule } from '@ngrx/store-devtools';
import { ConfigService } from './core/services/config.service';
import { environment } from 'src/environments/environment';
import { EffectsModule } from '@ngrx/effects';
import { SomeEffects } from './store/some.effects';

@NgModule({
  declarations: [AppComponent],
  imports: [
    CoreModule,
    CommonModule,
    AppRoutingModule,
    HttpClientModule,
    StoreModule.forRoot(reducers, { metaReducers }),
    StoreDevtoolsModule.instrument({ maxAge: 25 }),
    EffectsModule.forRoot([SomeEffects]),
  ],
  providers: [
    {
      provide: APP_INITIALIZER,
      multi: true,
      deps: [ConfigService],
      useFactory: (appConfigService: ConfigService) => {
        return () => {
          return environment.production
            ? appConfigService.loadAppConfigProduction()
            : appConfigService.loadAppConfigDevelopment();
        };
      },
    },
  ],
  bootstrap: [AppComponent],
})
export class AppModule {}

我试过将导入放在最后,在另一个带有 forFeature 的模块中使用它,并根据文档通过提供者注册效果。 (https://ngrx.io/guide/effects)

有类似的话题,但是 none 有一个对我有用的解决方案 https://github.com/ngrx/platform/issues/489

删除 EffectsModule 解决了问题,但我没有我的效果。

根据 NgRx documentation,@ngrx/effects@12 需要 Angular 12。我会首先升级到 Angular 12 或将您的效果模块降级到版本11.