Entendendo as variáveis de ambiente em projetos Angular

Variáveis de ambiente permitem a centralização de configurações do projeto que podem mudar em diferentes tipos de ambiente.

Publicado em

No desenvolvimento de aplicações modernas, a configuração de ambientes distintos como desenvolvimento, teste e produção é essencial. Especificamente em projetos Angular, o uso eficaz de variáveis de ambiente pode simplificar a gestão de configurações entre esses ambientes, melhorando a manutenibilidade e segurança do código.

Arquivos de configurações normalmente não são versionados e também são os únicos arquivos na aplicação que contém informações a serem ajustadas em diferentes tipos de servidor. É importante adotar essa forma de trabalho, assim o seu projeto não terá que ter diferentes arquivos e linhas sendo modificadas em diferentes ambientes.

Vamos criar um novo arquivo de configuração de variáveis de ambiente no Angular, para isso, rode o comando abaixo na raiz do seu projeto.

ng generate environments

Agora você verá uma nova pasta dentro de src\environments, nela contém dois arquivos, sendo eles:

  • environment.development.ts - Arquivo para o ambiente de desenvolvimento;
  • environment.ts - Arquivo para o ambiente de produção.

Além desses dois, você pode criar quantos outros arquivos achar necessário. Dentro desses arquivos você encontra uma constante chamada environment que está sendo exportada.

Adicione suas configurações através do clássico objeto literal do Javascript, conforme mostra o código abaixo.

export const environment = {
  production: true,
  key : ‘ABCDE123’
}

Consumindo variáveis de ambiente no Angular

Para consumir as variáveis de ambiente dentro do seu projeto, o processo é bem simples, basta importá-lo e pronto, apenas isso. Veja um exemplo abaixo consumindo a chave production do nosso arquivo.

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

export class HeaderComponent {
  production = environment.production
}

Gerenciamento de Build e Substituições de Arquivos

O arquivo angular.json permite configurar substituição de arquivos específicos para cada ambiente usando a seção fileReplacements. Essa funcionalidade é crucial para garantir que o código correto seja usado no ambiente correto sem a necessidade de intervenção manual no código fonte.

"configurations": {
  "development": {
    "fileReplacements": [
      {
        "replace": "src/environments/environment.ts",
        "with": "src/environments/environment.development.ts"
      }
    ]
  }
}

 

Gunnar Correa
Gunnar Correa

Autodidata, Graduado em Desenvolvimento Web, Especialista em Tecnologias na Educação e Pós-graduando em Segurança da Informação. Começou seus estudos na área de programação quando era criança, e atualmente, está estudando desenvolvimento de jogos. Fundador da SatellaSoft, criado em 2009 com o intuito de compartilhar conhecimento de forma gratuita e inédita.

Todos os nossos cursos em promoção
Todos os nossos cursos em promoção

Webstories

Todos os nossos cursos em promoção


Deixe um comentário
Aguarde...
Todos os nossos cursos em promoção