Угловая ошибка: StaticInjectorError (платформа: ядро) [e -> t]: - PullRequest
2 голосов
/ 17 марта 2019

Поскольку я строю APK с --prod Я получаю ошибку ниже

    ERROR Error: StaticInjectorError[e -> t]: 
  StaticInjectorError(Platform: core)[e -> t]: 
    NullInjectorError: No provider for t!
    at e.get (core.js.pre-build-optimizer.js:8894)
    at core.js.pre-build-optimizer.js:9139
    at e (core.js.pre-build-optimizer.js:9083)
    at e.get (core.js.pre-build-optimizer.js:8980)
    at core.js.pre-build-optimizer.js:9139
    at e (core.js.pre-build-optimizer.js:9083)
    at e.get (core.js.pre-build-optimizer.js:8980)
    at Ua (core.js.pre-build-optimizer.js:21119)
    at e.get (core.js.pre-build-optimizer.js:21808)
    at Ts (core.js.pre-build-optimizer.js:22179)

Но он отлично работает с Ionic Cordova build android и с ng serve; но я получаю ту же ошибку выше с ng serve --prod".

Как мне решить эту проблему?

Ответы [ 2 ]

2 голосов
/ 17 марта 2019

Вы пытаетесь использовать службу, которая не указана в поставщиках вашего AppModule или внутри вашего component.ts.Добавьте службу в список поставщиков, чтобы она работала.

В app.modules, если вы хотите, чтобы эта служба была глобальной (связана с контекстом приложения).

@NgModule({
    declarations: [...],
    imports: [...],
    bootstrap: [...],
    entryComponents: [...],
    providers: [
        MyService
    ]
})

Или в вашем компоненте.ts, если вы хотите, чтобы эта служба была контекстной для нужного компонента.

@Component({
    selector: '...',
    templateUrl: '...',
    providers: [MyService]
})

Не добавляйте его в оба файла.Также не забудьте импортировать эту службу, когда вы внедряете ее в app.modules или component.

import { MyService } from '../services/myservice';

Этот вопрос также может вам помочь: Ошибка: нет поставщика для t

0 голосов
/ 18 марта 2019

Это происходит потому, что вы не добавили службы, использованные для сборки модуля

пример:

1.компонент

@Component({
  selector: 'app-sample',
  templateUrl: './sample.component.html',
  styleUrls: ['./sample.component.scss']
})
export class SampleComponent implements OnInit {

constructor(private localServiceName: YourService) {
}

  ngOnInit() {
  }

}

2.модуль

@NgModule({
    declarations: [SampleComponent]
})

изменить на

@NgModule({
    declarations: [SampleComponent]
    providers: [ YourService ]
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...