我一直在慢慢升级到Angular 5.但是,几天前我开始从我的ApiService看到这个错误: can't resolve all parameters for ApiService(?)
这只是在我添加新组件后才开始发生(其中没有一个实际使用相关服务)。在此之前,ApiService工作得很好。我的ApiService看起来像这样:
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
...
@Injectable()
export class ApiService {
constructor(private http: HttpClient)
}
...
我的tsconfig.json已经有'emitDecoratorMetadata'设为true。我的app.module.ts将ApiService作为提供者并正确导入。
然而,如果我同时使用@Injectable和@Inject,那么它会更快乐并且编译得更好(我这样做是为了测试它为什么会破坏;我知道这是你不应该做的事情'我需要这样做)。
我可能会遗忘另一种配置吗?到目前为止,我发现的大多数答案都说包括@Injectable()include,emitDecoratorMetadata,或者将服务作为app.module.ts提供程序的一部分,我已经完成了所有这些。同样,ApiService一直在努力,直到我开始添加更多组件。
我使用webpack-dev-server运行我的服务器。如果我使用' ng serve'它工作得很好,这让我相信我如何配置webpack-dev-server可能有问题?最近是否有更新可能需要我稍微改变一下配置?
感谢您的任何建议和帮助!
答案 0 :(得分:2)
似乎我只需要添加
import 'core-js/es6/reflect';
import 'core-js/es7/reflect';
到我的polyfills.ts。这似乎是升级到Angular 5的一个特定问题。我希望这可以帮助其他任何有类似问题的人!