Angular 根函数的角度问题

Angular 根函数的角度问题,angular,typescript,Angular,Typescript,在从Angular 5.x升级到7.x之后,我遇到了一个奇怪的TS问题 对于下面的代码,特别是LibCoreModule的forRoot调用,我得到以下错误: 错误类型“ModuleWithProviders”不可分配给类型“any[] |类型'。类型“ModuleWithProviders”不可分配给 键入“type”。 类型“ModuleWithProviders”中缺少属性“apply” 代码: 我试着看看他们是否从v5到v7做了任何改变,但我没有发现任何特别的改变 有人知道如何解决这个问

在从Angular 5.x升级到7.x之后,我遇到了一个奇怪的TS问题

对于下面的代码,特别是LibCoreModule的forRoot调用,我得到以下错误:

错误类型“ModuleWithProviders”不可分配给类型“any[] |类型'。类型“ModuleWithProviders”不可分配给 键入“type”。 类型“ModuleWithProviders”中缺少属性“apply”

代码:

我试着看看他们是否从v5到v7做了任何改变,但我没有发现任何特别的改变


有人知道如何解决这个问题吗?

您应该将LibCoreModule.forRootcoreFactory,[]从声明移到导入属性,我认为这可以解决您的问题,由于模块应注入导入属性

您是否尝试过使用npm安装删除节点模块和包锁并重新安装节点模块?@TalhaJunaid现在尝试过,不幸的是,同样的问题。@Chrillewoodz您应该将LibCoreModule.forRootcoreFactory,[]从声明移动到导入属性,我认为这可以解决您的问题,因为模块必须在导入属性中注入。@Sanoj_V不敢相信我没有看到。。。我通常将导入作为第一个数组,因此受到了欺骗-谢谢!如果你把它作为一个答案发布,我会接受。好的,我会发布一个答案!!!
@NgModule({
  imports: [
    ...
  ],
  exports: [
    ...
  ]
})

export class LibCoreModule {

  public static forRoot(configFactory, deps = []): ModuleWithProviders {

    return {
      ngModule: LibCoreModule,
      providers: [
        {provide: CoreConfig, useFactory: configFactory, deps: deps}
      ]
    };
  }
}

export function coreFactory(): CoreConfig {

  return {
    api: environment.api
  };
}

@NgModule({
  declarations: [
    AppComponent,

    // SHOWS ERROR
    LibCoreModule.forRoot(coreFactory, [])
  ],
  imports: [
    BrowserModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})