StaticInjectorError (Платформа: ядро) [HttpHandler -> Injector]: NullInjectorError: Нет поставщика для инжектора - PullRequest
0 голосов
/ 08 мая 2019

Я создал общую библиотеку с сервисом translate, использующим ngx-translate.Ниже приведен мой файл module.ts для общей библиотеки.

import { NgModule, ModuleWithProviders } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { IonicModule } from 'ionic-angular'; 
import { Utils } from '.';
import { NetworkService } from './network-service';
import { Network } from '@ionic-native/network/ngx';
import { HttpClientModule, HttpClient } from '@angular/common/http';
import { TranslateModule, TranslateLoader, TranslateService, TranslateStore } from '@ngx-translate/core';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
import { TranslationService } from './translate-service';
import { HttpModule } from '@angular/http';
import { CommonModule } from '@angular/common';


export function initTranslateLoader(http: HttpClient) {
  return new TranslateHttpLoader(http, "./assets/i18n/", ".json");
}

@NgModule({
  imports: [
    CommonModule,
    HttpClientModule,
    TranslateModule.forChild({
      loader: {
        provide: TranslateLoader,
        useFactory: initTranslateLoader,
        deps: [HttpClient]
      }
    })
  ],
  declarations: [],
  exports: [TranslateModule,HttpClientModule],
  providers: [ Network,NetworkService,TranslationService, TranslateStore ]
})
export class UtilsModule {
  static forRoot(): ModuleWithProviders {
    return {
      ngModule: UtilsModule,
      providers: [Network,NetworkService,TranslationService,TranslateStore ]
    }
  }
}

При использовании вышеупомянутого модуля в моем приложении я получаю следующую ошибку:

ERROR Error: StaticInjectorError(AppModule)[HttpHandler -> Injector]: 
  StaticInjectorError(Platform: core)[HttpHandler -> Injector]: 
    NullInjectorError: No provider for Injector!
    at NullInjector.push../node_modules/@angular/core/fesm5/core.js.NullInjector.get (core.js:8896)
    at resolveToken (core.js:9141)
    at tryResolveToken (core.js:9085)
    at StaticInjector.push../node_modules/@angular/core/fesm5/core.js.StaticInjector.get (core.js:8982)
    at resolveToken (core.js:9141)
    at tryResolveToken (core.js:9085)
    at StaticInjector.push../node_modules/@angular/core/fesm5/core.js.StaticInjector.get (core.js:8982)
    at resolveNgModuleDep (core.js:21218)
    at _createClass (core.js:21265)
    at _createProviderInstance (core.js:21235)

Как я могу решить эту проблему?Если я удаляю весь код, связанный с переводом, все работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...