Sumário
- Introdução a Variáveis de Ambiente
- Acessando Variáveis de Ambiente com
process.env
- Usando o pacote
dotenv
- Melhores Práticas de Segurança
Introdução a Variáveis de Ambiente
Variáveis de ambiente são pares chave-valor dinâmicos que fornecem informações de configuração para aplicativos. Elas são armazenadas fora do código do seu aplicativo, oferecendo várias vantagens importantes:
- Segurança: Dados sensíveis, como chaves de API e senhas, nunca devem ser codificados de forma rígida. As variáveis de ambiente fornecem uma maneira segura de gerenciar esses segredos.
- Flexibilidade: Altere facilmente o comportamento do aplicativo sem modificar a base de código. Isso é crucial para diferentes ambientes de implantação (desenvolvimento, teste, produção).
- Portabilidade: Adapte seu aplicativo a vários ambientes ajustando as variáveis de ambiente sem alterações de código.
Este guia demonstra como acessar variáveis de ambiente em JavaScript, focando em ambientes Node.js.
Acessando Variáveis de Ambiente com process.env
O Node.js fornece acesso integrado a variáveis de ambiente por meio do objeto process.env
. Esta é a abordagem mais comum e recomendada para ambientes de produção.
// Obter uma variável de ambiente específica
const apiKey = process.env.API_KEY;
// Verificar se uma variável de ambiente existe e fornecer um valor padrão
const port = process.env.PORT || 3000;
// Acessar várias variáveis
const dbConfig = {
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME
};
//Exemplo de tratamento de variáveis de ambiente ausentes com uma mensagem de erro mais descritiva
if (!dbConfig.host) {
throw new Error("Host do banco de dados não configurado. Por favor, defina a variável de ambiente DB_HOST.");
}
console.log("Chave da API:", apiKey);
console.log("Porta:", port);
console.log("Configuração do Banco de Dados:", dbConfig);
Lembre-se que definir variáveis de ambiente é específico do sistema operacional. No Linux/macOS, use export
(por exemplo, export API_KEY="sua_chave_de_api"
); no Windows, use set
.
Usando o pacote dotenv
Para desenvolvimento, o pacote dotenv
simplifica o gerenciamento de variáveis de ambiente a partir de um arquivo .env
. Isso mantém informações sensíveis fora do seu sistema de controle de versão.
- Instalação:
npm install dotenv
- Arquivo .env: Crie um arquivo
.env
(adicione-o ao seu.gitignore
!) na raiz do seu projeto:
API_KEY=sua_chave_de_api
DATABASE_URL=sua_url_do_banco_de_dados
PORT=3001
- Uso:
require('dotenv').config();
const apiKey = process.env.API_KEY;
const databaseUrl = process.env.DATABASE_URL;
const port = process.env.PORT;
console.log("Chave da API:", apiKey);
console.log("URL do Banco de Dados:", databaseUrl);
console.log("Porta:", port);
dotenv.config()
carrega variáveis de .env
para process.env
. Sempre priorize as variáveis de ambiente do sistema em relação a .env
para implantações de produção.
Melhores Práticas de Segurança
- Nunca codifique informações sensíveis de forma rígida. Sempre use variáveis de ambiente.
- Adicione
.env
ao seu.gitignore
. Evite commits acidentais de dados sensíveis. - Use uma solução de gerenciamento de segredos para ambientes de produção para armazenar e acessar dados sensíveis com segurança.
- Valide e sanitize todas as variáveis de ambiente antes de usá-las em seu aplicativo para evitar vulnerabilidades.
- Revise e atualize regularmente suas práticas de segurança.