我一直在尝试将我的应用程序切换到 AoT 编译,并且在加载应用程序时在生产环境中遇到此错误(它在本地运行良好)。
错误:无法解析 IconService 的所有参数:(?, ?)
似乎错误来自提供 IconService 的模块。图标服务构造函数看起来像
构造函数(私有(private) http:Http,私有(private) iconConfiguror:IconConfiguror){
所以我的问题是这个错误是什么意思,为什么它只发生在生产环境中(我已经尝试在本地启用生产模式)?
这似乎意味着没有提供 http 和图标配置参数,但图标配置是在应用程序模块级别提供的,并且 HttpModule
是在 IconModule< 中导入的
提供了 IconService
。
@NgModule({
imports: [
CommonModule,
HttpModule,
],
declarations: [
IconComponent,
],
exports: [
IconComponent,
],
providers: [
IconService,
__platform_browser_private__.BROWSER_SANITIZATION_PROVIDERS,
],
})
还有我们图标组件的桶。
export * from "./components/icon/icon.configuror";
export * from "./components/icon/icon.service.provider";
export * from "./components/icon/icon.service";
export * from "./components/icon/icon.component";
export * from "./components/icon/icon.module";
最佳答案
通过以不同方式提供 IconService 解决了这个问题。
{
provide: IconService,
useFactory: iconServiceFactory,
deps: [Http, IconConfiguror],
},
和工厂本身
export function iconServiceFactory(http: Http, iconConfiguror: IconConfiguror) {
return new IconService(http, iconConfiguror);
}
我想由于某种原因没有提供 Http(即使导入了 HttpModule)所以我不得不将其声明为依赖项。
关于Angular2 - 错误 : Can't resolve all parameters for IconService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42425139/