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.
将 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.