сделать условие для файла environment.prod.ts - PullRequest
0 голосов
/ 25 января 2019

введите описание изображения здесь

Как сделать условие в приведенном ниже коде и в файле environment.ts.

export const environment = {
  production: true,
  if(our condiion = "impdev.something.com"){
   API_url:'https://impdev.something.com/Angular',
  }
  if(our condiion = "dev.something.com"){
    API_url:'https://dev.something.com/Angular',
  }
  if(our condiion = "app.something.com"){
    API_url:'https://app.something.com/Angular',
  }

};

Ответы [ 4 ]

0 голосов
/ 25 января 2019

Вы достигнете этого другим способом, используя следующее решение.

environment.ts

export const environment = {
  production: true,
  dev: { serviceUrl: 'https://dev.something.com' },
  stage: { serviceUrl: 'https://stage.something.com' },
  prod: { serviceUrl: 'https://prod.something.com' },
  local: { serviceUrl: 'http://localhost:8080/' },
};

NetworkService.ts

export class NetowrkService {

  url: string;
  env: string
  constructor(private http: HttpClient) {
    this.env = this.setENV();
    this.url = environment[this.env].serviceUrl;
  }

  setENV() {
    if (window.location.hostname.indexOf("dev") != -1) {
      return "dev";
    } else if (window.location.hostname.indexOf("stage") != -1) {
      return "stage";
    } else if (window.location.hostname.indexOf("localhost") != -1) {
      return "local";
    } else {
      return "prod";
    }
  }


   // Call rest API
}
0 голосов
/ 25 января 2019

Main.ts

if (environment.production) {
  enableProdMode();
}

environment.ts

export const environment = {
  production: false,
  animal: '?'
};

environment.prod.ts

export const environment = {
  production: true,
  animal: '?'
};

app.component.ts

import { Component } from '@angular/core';
import { environment } from '../environments/environment';

@Component({ ... })
export class AppComponent {
  animal: string = environment.animal;
}
0 голосов
/ 25 января 2019

idk, если это то, что вам нужно, но в angular.json ctrl + f для поиска fileReplacements, здесь вы можете указать Angular, какой файл папки окружения заменить каким, в разных режимах ... тогда вы можете получить доступ кта же самая переменная в environment.ts для всего приложения, и она будет автоматически заменена в зависимости от ваших настроек подачи или сборки.

Если не уверены, просто скопируйте и вставьте весь «производственный» JSON, который содержит fileReplacementsи измените значение replace с помощью созданного вами нового файла environment.ts (как в environment.dev.ts), а затем скопируйте все переменные из одной среды в другую и измените значения и используйте их через приложение

0 голосов
/ 25 января 2019

Вы можете использовать троичный оператор здесь,

export const environment = {
  production: true,
  API_url: your_condition_here ? '' : '';
};

Но откуда вы получите условие здесь?

...