【发布时间】:2017-07-14 11:43:37
【问题描述】:
我一直在尝试将我的应用程序切换到 AoT 编译,并且在加载应用程序时在生产环境中遇到此错误(它在本地工作正常)。
Error: Can't resolve all parameters for IconService: (?, ?)
似乎错误来自提供 IconService 的模块。图标服务构造函数看起来像
constructor(private http:Http, private iconConfiguror:IconConfiguror) {
所以我的问题是这个错误是什么意思,为什么它只会在 prod 环境中发生(我已经尝试在本地启用 prod 模式)?
这似乎意味着没有提供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";
【问题讨论】:
-
constructor(private http:Http, private iconConfiguror:IconConfiguror) -
@AJT_82 忘记更新了,我也试过了。
-
__decorate是正确的,它们不应该被注入那里。您如何提供IconConfiguror服务? -
@altschuler 在 app.module
{provide: IconConfiguror, useClass: IconConfigurorImpl},中。而 IconConfigurorImpl 本身@Injectable() export class IconConfigurorImpl extends IconConfiguror { -
你在用桶吗?
标签: angular typescript