https://a.storyblok.com/f/270183/30250/b597004eb0/node-js-environmental-variables.png

Como usar variáveis de ambiente no Node.js

Publicado em February 14, 2024

Tempo de leitura: 2 minutos

Este artigo foi atualizado em julho de 2025

Introdução

As variáveis de ambiente desempenham um papel crucial na configuração e na segurança das aplicações Node.js. Elas permitem que os desenvolvedores armazenem informações confidenciais, configurações e outras variáveis fora do código-fonte, facilitando o gerenciamento de diferentes ambientes de implantação (desenvolvimento, teste, produção) sem expor informações confidenciais.

Nesta postagem do blog, vamos explorar como usar variáveis de ambiente no Node.js, abordando temas como como defini-las, acessá-las e gerenciá-las em suas Applications.

Entendendo as variáveis de ambiente

Variáveis de ambiente são valores dinâmicos que podem afetar o comportamento de um processo em execução. No Node.js, é possível acessar variáveis de ambiente usando o process.env objeto. Essas variáveis são definidas fora do seu aplicativo e lidas por ele durante a execução.

Definição de variáveis de ambiente

Para definir variáveis de ambiente, você pode utilizar diversos métodos, dependendo do seu sistema operacional ou da plataforma de implantação.

Windows (Prompt de Comando) - set VAR_NAME=value

Linux e macOS (Shell Bash) - export VAR_NAME=value

Usando um .env Arquivo

Em muitos projetos do Node.js, os desenvolvedores utilizam um .env arquivo para armazenar e gerenciar variáveis de ambiente.

Crie um arquivo chamado .env na raiz do seu projeto e defina suas variáveis:

DB_HOST=localhost
DB_PORT=5432
SECRET_KEY=mysecretkey

Este arquivo não deve ser enviado ao sistema de controle de versão para garantir que informações confidenciais permaneçam sempre no seu computador local.

Adicione .env ao seu .gitignore arquivo para impedir que ele seja confirmado. Aqui está um exemplo de arquivo já com essa linha incluída. Você também pode usar o `dotenv` para configurações avançadas, e ele carregará automaticamente as variáveis de ambiente de um .env arquivo para process.env. Observação: você pode usar o pacote dotenv para importar o arquivo para o seu código)

Acesso às variáveis de ambiente no Node.js

Depois de definir suas variáveis de ambiente, você pode acessá-las em sua aplicação Node.js usando process.env.

const dbHost = process.env.DB_HOST;
const dbPort = process.env.DB_PORT;
const secretKey = process.env.SECRET_KEY;

console.log(`Database Host: ${dbHost}`);
console.log(`Database Port: ${dbPort}`);
console.log(`Secret Key: ${secretKey}`);

Utilização de um módulo para variáveis de ambiente

Para uma melhor organização, considere criar um módulo para centralizar o acesso às variáveis de ambiente. Crie um arquivo chamado config.js:

module.exports = {
  dbHost: process.env.DB_HOST,
  dbPort: process.env.DB_PORT,
  secretKey: process.env.SECRET_KEY,
};

Agora, você pode importar e usar essas variáveis facilmente em outras partes do seu aplicativo:

const config = require('./config');

console.log(`Database Host: ${config.dbHost}`);
console.log(`Database Port: ${config.dbPort}`);
console.log(`Secret Key: ${config.secretKey}`);

Como lidar com valores padrão

Às vezes, é possível definir valores padrão para variáveis de ambiente caso elas não estejam definidas. Isso pode ser feito utilizando o || operador:

const dbHost = process.env.DB_HOST || 'localhost';
const dbPort = process.env.DB_PORT || 5432;
const secretKey = process.env.SECRET_KEY || 'defaultsecret';

Conclusão

O uso eficaz de variáveis de ambiente em suas aplicações Node.js é fundamental para manter a segurança e a configurabilidade. Ao manter informações confidenciais fora do seu código-fonte e adotar uma abordagem padronizada, você pode gerenciar facilmente diferentes ambientes de implantação e garantir uma aplicação mais segura.

Lembre-se de ter cuidado com informações confidenciais e seguir as melhores práticas para proteger suas variáveis de ambiente, especialmente em ambientes de produção.

Se você tiver dúvidas, junte-se a nós no Slack dos desenvolvedores da Vonage ou envie-nos uma mensagem no X, e entraremos em contato com você. Mais uma vez, obrigado pela leitura, e nos vemos no próximo post!

Compartilhar:

https://a.storyblok.com/f/270183/400x400/7cdff37c0e/michael-crump.png
Michael CrumpGerente de Experiências dos Desenvolvedores

Michael Crump trabalha na Vonage, na equipe de Experiências do Desenvolvedor, e é programador, YouTuber e palestrante frequente sobre diversos temas relacionados ao .NET e ao desenvolvimento em nuvem e de comunicações. Ele se dedica a ajudar os desenvolvedores a compreender os benefícios de cada um desses temas de maneira prática e direta.