Configuração de aplicações JavaScript: biblioteca config

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

O que é a biblioteca config?

A biblioteca config é um módulo popular para Node.js, projetado para gerenciar configurações de aplicações. Ela permite armazenar configurações em arquivos separados (JSON, YAML, JS) e carregá-los automaticamente dependendo do ambiente (development, production, staging). Isso elimina a necessidade de codificar parâmetros fixos, como chaves de API, portas do servidor ou strings de conexão com o banco de dados.

Para que serve?

Em projetos reais, a configuração muda frequentemente: localmente você usa uma URL de banco de dados, no servidor usa outra. Sem o módulo config, você teria que alterar variáveis manualmente ou usar construções complexas com process.env. A biblioteca simplifica esse processo: ela seleciona automaticamente o arquivo com base na variável de ambiente NODE_ENV (por exemplo, development.json ou production.json).

Como instalar?

Instale o módulo via npm:

npm install config

Principais funcionalidades

  • Detecção automática de ambiente: por padrão, procura o arquivo default.json e depois {NODE_ENV}.json.
  • Suporte a formatos: JSON, YAML, JS, TOML.
  • Aninhamento profundo: acesso a campos aninhados usando ponto (config.get('database.host')).
  • Segurança: é possível ocultar dados sensíveis (senhas) através de variáveis de ambiente.

Exemplo de código em JavaScript (Node.js)

Crie a estrutura de pastas:

project/
├── config/
│ ├── default.json
│ └── production.json
├── app.js
└── package.json

config/default.json:

{
"server": {
"port": 3000
},
"database": {
"host": "localhost",
"port": 5432
}
}

config/production.json:

{
"server": {
"port": 80
},
"database": {
"host": "prod-db.example.com"
}
}

app.js:

const config = require('config');

// Obtém a porta do servidor
const port = config.get('server.port');

// Obtém o host do banco de dados
const dbHost = config.get('database.host');

console.log(`Server running on port ${port}`);
console.log(`Database host: ${dbHost}`);

// Inicia o servidor
const http = require('http');
http.createServer((req, res) => {
res.end('Hello World');
}).listen(port);

Execute com diferentes ambientes:

# Padrão (development)
node app.js
# Server running on port 3000

# Production
NODE_ENV=production node app.js
# Server running on port 80

Quando usar?

A biblioteca config é ideal para aplicações Node.js de médio e grande porte, onde é necessário separar as configurações por ambiente. Ela é indispensável na implantação em vários servidores, em arquitetura de microsserviços e ao trabalhar com dados confidenciais (através de variáveis de ambiente). Para projetos pequenos ou scripts, pode-se usar um simples process.env, mas o config torna o código mais limpo e escalável.

Recommendations