NullInjectorError: нет поставщика для StateObservable при использовании ng-packagr - PullRequest
0 голосов
/ 10 мая 2018

У меня есть проект Angular 5, который использует ngrx / store. Проект состоит из приложения и общей библиотеки, которую использует приложение. До сегодняшнего дня мы компилировали TypeScript для обоих проектов вместе - библиотека «публиковалась» только с помощью кода TypeScript.

Сегодня я получил эту библиотеку, работающую с ng-packagr, и извлек ее в приложение, используя yarn link, чтобы я мог запустить локальный код. Однако, когда я пытаюсь запустить свое приложение, я получаю эту ошибку в браузере:

Unhandled Promise rejection: StaticInjectorError(AppModule)[Store -> StateObservable]: StaticInjectorError(Platform: core)[Store -> StateObservable]: NullInjectorError: No provider for StateObservable! ; Zone: <root> ; Task: Promise.then ; Value: Error: StaticInjectorError(AppModule)[Store -> StateObservable]: StaticInjectorError(Platform: core)[Store -> StateObservable]: NullInjectorError: No provider for StateObservable! at _NullInjector.get (core.js:1002) at resolveToken (core.js:1300) at tryResolveToken (core.js:1242) at StaticInjector.get (core.js:1110) at resolveToken (core.js:1300) at tryResolveToken (core.js:1242) at StaticInjector.get (core.js:1110) at resolveNgModuleDep (core.js:10854) at _createClass (core.js:10895) at _createProviderInstance$1 (core.js:10865)

Понятия не имею, откуда эта ошибка. Моя единственная подсказка в том, что здесь упоминается AppModule. В моем AppModule я импортирую @ngrx/store и импортирую StoreModule.forRoot в мой модуль.

1 Ответ

0 голосов
/ 10 мая 2018

Вот как я исправил проблему в моем случае:

Я импортировал следующее:

import { Store } from '@ngrx/store';
import { StoreModule } from '@ngrx/store';

Я добавил модуль магазина в импорт как: imports: [StoreModule.forRoot({}),............

Затем я добавил сервис магазина к провайдерам: providers: [Store]

Ключевым моментом является проверка пропавших поставщиков . Надеюсь, это поможет!

...