import { BrowserModule } from '@angular/platform-browser'; import { HttpClientModule } from '@angular/common/http'; import { LocationStrategy, HashLocationStrategy, } from '@angular/common'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { NgModule } from '@angular/core'; import { StoreModule } from '@ngrx/store'; import { EffectsModule } from '@ngrx/effects'; import { StoreRouterConnectingModule } from '@ngrx/router-store'; import { StoreDevtoolsModule } from '@ngrx/store-devtools'; import { environment } from '@environments/environment'; import { AppComponent } from './app.component'; import { AppRoutingModule } from './app-routing.module'; import { reducers, metaReducers } from './reducers'; import { CustomSerializer } from './reducers/custom-route-serializer'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, FormsModule, ReactiveFormsModule, HttpClientModule, AppRoutingModule, StoreRouterConnectingModule.forRoot({ serializer: CustomSerializer }), StoreModule.forRoot(reducers, { metaReducers }), EffectsModule.forRoot([]), StoreDevtoolsModule.instrument({ maxAge: 25, logOnly: environment.production }) ], providers: [ { provide: 'API_URL', useValue: environment.api }, { provide: LocationStrategy, useClass: HashLocationStrategy } ], bootstrap: [AppComponent] }) export class AppModule { }