我正在为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
任何帮助将不胜感激
答案 0 :(得分: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注入失败,给出错误:未捕获(在承诺中):错误:没有函数的提供者(){}!
请告诉我们为什么会收到此错误。
答案 1 :(得分:1)
我知道已经晚了,但是我遇到了同样的错误,并使用此脚本(在npm安装后)进行了修复
"npm-cleanup" : "rimraf ./node_modules/PACKAGE_WITH_ANGULAR_MODULES/node_modules"
在我的package.json中,通过删除所有具有冲突Angular版本的软件包的node_modules。
也许它可以帮助仍然在这种错误中挣扎的人。