--prod
でAPKをビルドしているときに、以下のエラーが発生します
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"
でも上記と同じエラーが発生します。
どうすればこれを解決できますか?
AppModuleのプロバイダーまたはcomponent.ts内にリストされていないサービスを使用しようとしています。サービスをプロバイダーリストに追加して、機能させます。
そのサービスをグローバル(アプリコンテキストに関連)にする場合は、app.modulesで。
@NgModule({
declarations: [...],
imports: [...],
bootstrap: [...],
entryComponents: [...],
providers: [
MyService
]
})
または、そのサービスを目的のコンポーネントのコンテキストにする場合は、component.tsで。
@Component({
selector: '...',
templateUrl: '...',
providers: [MyService]
})
両方のファイルに追加しないでください。また、app.modulesまたはcomponentのいずれかにサービスを挿入するときに、そのサービスをインポートすることを忘れないでください。
import { MyService } from '../services/myservice';
この質問もあなたを助けるかもしれません: エラー:tのプロバイダーがありません
これは、モジュールの構築に使用されたサービスを追加しなかったために発生します
例:
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 ]
})