【问题标题】: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

任何帮助将不胜感激

【问题讨论】:

标签: angular angular-forms angular-providers


【解决方案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。

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

【讨论】:

    猜你喜欢
    • 2018-02-28
    • 2022-11-24
    • 2018-06-21
    • 2018-08-08
    • 2016-02-16
    • 1970-01-01
    • 2018-03-04
    • 2019-08-12
    • 1970-01-01
    相关资源
    最近更新 更多