Angular2 - 错误 : Can't resolve all parameters for IconService

标签 angular typescript

我一直在尝试将我的应用程序切换到 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/

相关文章:

javascript - Angular/TypeScript 使用动态键创建对象

javascript - 如何以不同的名称安装相同的库

javascript - 如何在 Protractor 中的套件之间共享相同的测试用例

Angular Virtual Scroll 在浏览器上工作正常,但初始化时 Jasmine 测试失败

javascript - Angular 2路由解析不同的组件

jquery - 如何将 jQuery 导入 Angular2 TypeScript 项目?

typescript - 在 typescript 中扩展枚举

angular 4 - 预检响应无效(重定向)

angular - 忽略 .gitignore 中名为 npm-debug.log.XXXXXX 的文件

typescript - typescript 中的故事书配置