1
resposta

Environment

Boa tarde pessoal.

Na aula, a URL fica fixa em environment e no momento do build é "setado" o --prod.

Existe alguma forma de deixar a variável ApiUrl sem valor, fazer o build e na hora que subir o projeto preencher via terminal?

Objetivo seria preencher a variável ApiUrl conforme o ambiente do cliente, ou seja, cada um tem o seu host e porta. Desta forma não haveria a necessidade de fazer o build em cada implantação.

Pela atenção, agradeço!

1 resposta

Olá Thiago, tudo bem com você?

Peço desculpas pela demora em obter um retorno.

É possível deixar a variável ApiUrl sem valor e preenchê-la via terminal na hora de subir o projeto. Para isso, você pode utilizar o comando ng serve com a opção --configuration seguida do nome do ambiente desejado. Por exemplo:

ng serve --configuration=producao

Dessa forma, o Angular irá buscar as configurações correspondentes ao ambiente "producao" no arquivo "angular.json". Nesse arquivo, você pode definir as configurações para cada ambiente, incluindo a variável ApiUrl.

Por exemplo:

"configurations": {
   "producao": {
      "fileReplacements": [
         {
            "replace": "src/environments/environment.ts",
            "with": "src/environments/environment.prod.ts"
         }
      ],
      "optimization": true,
      "ApiUrl": "https://api.producao.com"
   },
   "desenvolvimento": {
      "fileReplacements": [
      {
         "replace": "src/environments/environment.ts",
         "with": "src/environments/environment.dev.ts"
      }
   ],
   "sourceMap": true,
   "ApiUrl": "https://api.desenvolvimento.com"
   }
}

A título de curiosidade, caso queira conhecer outras soluções e possibilidades do recurso configuration, deixo como recomendação um artigo relacionado ao tema e também a documentação oficial do Angular a respeito do assunto:

Todavia, vale ressaltar que como é um assunto externo ao curso e que não tenho acesso ao cenário completo do projeto, outros testes terão de ser feitos a fim de obter o resultado esperado, mas espero que esta resposta seja um bom ponto de partida para a resolução do seu problema.

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!