angular-cliプロジェクト内の現在の環境に基づいてサービスをインポートする最も適切な方法は何ですか?角度2:環境に基づいたサービスのインポート
私は私が呼び出すことができるDEV-モックと呼ばれる新しい環境をセットアップを持っている...
ng serve --environment=mock
私はその後useClass
アプリ/ app.moduleとモジュール内のプロバイダを設定します.TS ...
import {environment} from '../environments/environment';
import {ApiService} from './api/api.service';
import {MockApiService} from './api/mock/mock-api.service';
@NgModule({
declarations: [
AppComponent,
],
imports: [
BrowserModule,
FormsModule,
HttpModule
],
providers: [
{
provide: ApiService,
useClass: (environment.name === 'dev-mock') ? MockApiService : ApiService
}
],
bootstrap: [AppComponent]
})
これは正常に動作し、問題は、私は例えば、別のサービスまたはコンポーネントにそのを注入したいときに私は何をしますかある...
アプリ/チケット/ ticket.service.ts
import {ApiService} from '../api/api.service'; // *** WHAT AM I TO DO HERE? ***
@Injectable()
export class TicketService {
constructor(private api: ApiService, private http: Http) {
}
}
明らかに私のアプローチは間違っています。正しいアプローチは何ですか?
環境に基づいて1つまたは他のサービスを注入する例を提供できますか?私はいくつかのことを試しましたが、私はそれを使用したいサービスの中にもう一つのAPIクラスをインポートする必要があります。私の提供オブジェクトに基づいて自動的には発生しません。 – pulpvision