没有函数 () 的提供者!在角度 4

Posted

技术标签:

【中文标题】没有函数 () 的提供者!在角度 4【英文标题】:No provider for function ()! in angular 4没有函数 () 的提供者!在角度 4 【发布时间】:2018-05-20 05:00:14 【问题描述】:

我正在为 prod build 运行以下命令

ng serve --prod --env=qa

运行此命令后,我没有收到任何错误,但在浏览器中运行localhost:4200/ 后,我收到以下错误

Uncaught Error: No provider for function ()!
at b (core.es5.js:1169)
at core.es5.js:1207
at e._throwOrNull (core.es5.js:2649)
at e._getByKeyDefault (core.es5.js:2688)
at e._getByKey (core.es5.js:2620)
at e.get (core.es5.js:2489)
at dt (core.es5.js:9492)
at core.es5.js:9529
at pt (core.es5.js:9503)
at core.es5.js:9456

任何帮助将不胜感激

【问题讨论】:

检查:***.com/questions/30580083/… 那个解决方案对我没有帮助@RameshRajendran 【参考方案1】:

我的 app.module.ts 中的这个代码块也有类似的异常

providers: [
  ...
  CacheService,
  
    provide: HttpCaching,
    useFactory: httpFactory, 
    deps: [XHRBackend, RequestOptions, CacheService]
  
]
...
export function httpFactory(xhrBackend: XHRBackend, requestOptions: RequestOptions, cacheService: CacheService): Http 
  return new HttpCaching(xhrBackend, requestOptions, cacheService);

它在开发模式下运行良好,但在生产模式下运行时注入我的 CacheService 失败,给出 Error: Uncaught (in promise): Error: No provider for function ()!

请告诉我为什么会出现此错误。

【讨论】:

实际上我在删除该库后使用 angular-2 记录器,一切对我来说都很好【参考方案2】:

我知道已经晚了,但我遇到了同样的错误并用这个脚本修复了它(在 npm 安装之后)

"npm-cleanup" : "rimraf ./node_modules/PACKAGE_WITH_ANGULAR_MODULES/node_modules"

在我的 package.json 中,删除所有 Angular 版本冲突的包的 node_modules。

也许它可以帮助仍在为此类错误而苦苦挣扎的人。

【讨论】:

以上是关于没有函数 () 的提供者!在角度 4的主要内容,如果未能解决你的问题,请参考以下文章

角度例外:没有 Http 提供者

角度测试错误 - NullInjectorError:没有 TrimInputDirective 的提供者

角度业力 - NullInjectorError:InjectionToken 配置没有提供者

Angular 2:未处理的承诺拒绝:没有 AuthService 的提供者! ;区域:角度

错误:没有提供者注入FeedToken USE_DEFAULT_LANG

使用 express 提供角度服务时出现 CORS 错误