Не удалось подключить эффекты к app.module.ts.Showing Статическая ошибка инжектора при попытке добавить эффект - PullRequest
0 голосов
/ 27 февраля 2019

Я изучаю ngRx Store и, следовательно, создаю небольшой проект с использованием ngRx / Store, Effects.Приложение состоит из двух частей. Одна имеет дело с книгами, а другая - с записями. Для части книг данные выбираются синхронно и, следовательно, не имеют проблем, связанных с ними.В разделе «Сообщения» я собираюсь асинхронно получать данные из внешнего API с помощью ngRx / Effects.Но когда я просто пишу эффект «голые кости» и пытаюсь подключить его в своем app.module.ts, я получаю эту ошибку.Error Image

Ниже мой App.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import {ReactiveFormsModule} from '@angular/forms'
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { BookListComponent } from './components/book-list/book-list.component';

import { StoreModule } from '@ngrx/Store';
import { AddBookComponent } from './add-book/add-book.component';
import { PostListComponent } from './post-list/post-list.component';
import {HttpClientModule} from '@angular/common/http'
import { EffectsModule } from '@ngrx/effects';
import { PostEffects } from './Effects/posts.effects';
import { reducers } from './Store/app.reducer';


@NgModule({
  declarations: [
    AppComponent,
    BookListComponent,
    AddBookComponent,
    PostListComponent,
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    ReactiveFormsModule,
    HttpClientModule,
    StoreModule.forRoot(reducers),
    EffectsModule.forRoot([PostEffects]),

  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

Это минимальные эффекты, которые я собрал вместе.

import { Injectable } from '@angular/core';
import { Effect, Actions } from '@ngrx/effects';
@Injectable()
export class PostEffects {
  @Effect()
  getPosts ;
  constructor(private actions$: Actions) {
  }
}

это редуктор состояния моего приложения

import { State } from '../reducers/books.reducers';
import { postState } from '../reducers/posts.reducers';
import { ActionReducerMap } from '@ngrx/Store';
import * as bookListReducer from '../reducers/books.reducers';
import * as postListReducer from '../reducers/posts.reducers';

export interface AppState {
    bookList: State,
    postList : postState
}
export const reducers: ActionReducerMap<AppState> = {
    bookList: bookListReducer.booksReducer,
    postList : postListReducer.postsReducer
  }

Может кто-нибудь мне помочь? Заранее спасибо

...