【发布时间】:2018-05-10 00:57:08
【问题描述】:
我有一个使用 ngrx/store 的 Angular 5 项目。该项目由一个应用程序和一个应用程序使用的共享库组成。直到今天,我们一直在为这两个项目一起编译 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 导入我的模块中。
【问题讨论】:
-
通常在缺少提供程序时抛出 StaticInjectorError。你检查你所有的依赖注入都有相关的提供者吗?
标签: angular typescript ngrx yarnpkg ng-packagr