04 paź 2017
5 min

Angular – multiple environments

Dzisiaj krótki wpis, jak rozbudować liczbę środowisk –multiple environments w naszej aplikacji.

Multiple environments

Tworząc projekt za pomocą narzędzia Angular CLI, zapewne zwróciłeś uwagę, że tworzy się katalog environments w katalogu src:

Source tree enviroments

I pewno nie jest dla Ciebie niczym nowym, że plik environment.prod.ts wskazuje na środowisko produkcyjne aplikacji, a plik environment.ts na środowisko domyślne.

W pliku environment.ts widzimy komentarz, że jak wywołamy ng build z odpowiednią flagą (–env=prod), to zostanie użyty plik environment.prod.ts:

`ng build --env=prod` then `environment.prod.ts` will be used instead.

A co jeśli mamy więcej środowisk w naszej aplikacji? Powiedzmy pięć? Wystarczy, że stworzysz kolejne pliki:Source tree enviroments

A następnie w pliku .angular-cli.json, dodasz je jako kolejne propercje obiektu environments:

Deklaracja multiple environments

Teraz wrzucamy do plików ze środowiskami, to co chcemy zmieniać w zależności od środowiska (np. API),  a następnie sięgamy po nasz domyślny environment np. w którymś z naszych serwisów:

import { environment } from '../environments/environment';

@Injectable()
export class CarsService {

  constructor(private http: Http) {}

  getCars(): Observable<Car[]> {
    return this.http.get(environment.apiUrls.getCars)
     .map((res) => res.json());
  }
}

I pozostaje nam się cieszyć, że możemy już wykonywać builda z odpowiednimi flagami:

"ng build --env=prod"
"ng build --env=qa"
"ng build --env=sp"
"ng build --env=staging"

…a framework Angular, skorzysta ze wskazanej implementacji w ten sposób otrzymujemy multiple environments w naszym projekcie.

Podobny przykład implementacjimultiple environments znajdziecie tutaj.

Podziel się artykułem

Zapisz się na nasz newsletter

Dołącz do community Angular.love i bądź na bieżąco z trendami.