Como configurar variáveis de ambiente em uma API Node.js?

As variáveis de ambiente no Node.js permitem armazenar credenciais e configurações de forma segura e flexível.

Como configurar variáveis de ambiente em uma API Node.js?

Variáveis de ambiente são essenciais para armazenar informações sensíveis, como credenciais de banco de dados, chaves de API e configurações do servidor. No Node.js, usamos o pacote dotenv para gerenciar essas variáveis.

1. Instalando o dotenv

npm install dotenv

2. Criando o arquivo .env

Crie um arquivo chamado .env na raiz do projeto e adicione variáveis:

PORT=3000
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=senha123
JWT_SECRET=minha_chave_secreta

3. Configurando o dotenv no projeto

No arquivo server.js, importe o dotenv e carregue as variáveis:

require('dotenv').config();
const express = require('express');
const app = express();

const PORT = process.env.PORT || 5000;

app.get('/', (req, res) => {
    res.send('API rodando na porta ' + PORT);
});

app.listen(PORT, () => console.log(`Servidor rodando na porta ${PORT}`));

4. Acessando variáveis de ambiente

Para acessar qualquer variável definida no .env, use:

const dbHost = process.env.DB_HOST;
console.log('Banco de dados hospedado em:', dbHost);

5. Evitando exposição de credenciais

Para manter as variáveis de ambiente seguras:

  • Nunca comite o arquivo .env no Git.
  • Adicione .env ao arquivo .gitignore.
# Arquivos ignorados pelo Git
.env

Conclusão

O uso de variáveis de ambiente no Node.js garante maior segurança e flexibilidade no gerenciamento de credenciais e configurações da aplicação.

O armazenamento seguro de credenciais é essencial para qualquer aplicação. Empresas como Amazon, Google e Microsoft utilizam práticas avançadas para proteger chaves de API e dados sensíveis.

Além do dotenv, serviços como AWS Secrets Manager e Google Cloud Secret Manager oferecem soluções escaláveis para gerenciar configurações de forma segura em produção.

Algumas aplicações:

  • Armazenamento de credenciais de banco de dados
  • Configuração de portas e endereços de servidor
  • Gerenciamento de chaves de API
  • Proteção de informações sensíveis
  • Facilidade na migração entre ambientes

Dicas para quem está começando

  • Sempre adicione .env ao .gitignore para evitar vazamento de credenciais.
  • Use process.env.NOME_VARIAVEL para acessar os valores armazenados.
  • Crie variáveis separadas para ambiente de desenvolvimento e produção.
  • Utilize dotenv apenas em ambientes locais; no servidor, defina variáveis diretamente.
  • Para maior segurança, armazene senhas e chaves em gerenciadores como AWS Secrets Manager.

Contribuições de Henrique Almeida

Compartilhe este tutorial: Como configurar variáveis de ambiente em uma API Node.js?

Compartilhe este tutorial

Continue aprendendo:

Como implementar rate limiting em uma API Node.js?

Rate limiting no Express.js limita o número de requisições de um usuário em um determinado período, prevenindo ataques de sobrecarga.

Tutorial anterior

Como fazer versionamento de APIs no Express.js?

O versionamento de APIs no Express.js permite criar múltiplas versões de endpoints, garantindo compatibilidade com aplicações antigas.

Próximo tutorial