Artigo original: How to Use Node Environment Variables with a DotEnv File for Node.js and npm

Variáveis de ambiente são aquelas que definimos fora de um programa, geralmente por um provedor da nuvem ou um sistema operacional.

No Node, as variáveis de ambiente são uma ótima maneira de configurar com segurança e conveniência questões que não se alteram com frequência, como URLs, chaves de autenticação e senhas.

Como criar variáveis de ambiente

Variáveis de ambiente recebem suporte diretamente do Node e são acessíveis por meio do objeto env (uma propriedade do objeto global process).

Para ver isso em ação, você pode criar sua própria variável de ambiente diretamente do REPL do Node, anexando uma variável ao objeto process.env.

Por exemplo, para criar uma variável de ambiente para armazenar a combinação da minha bagagem, eu poderia atribuir a variável assim: process.env.COMBINACAO_BAGAGEM="12345".

Observação: em geral, as variáveis de ambiente são escritas em maiúsculas.

Embora esse seja um experimento interessante, você não usaria o REPL do Node em uma aplicação. Para criar variáveis de ambiente em sua aplicação do Node, você provavelmente usaria um pacote, como o DotEnv.

Como usar o DotEnv

O DotEnv é um pacote leve do npm que carrega automaticamente as variáveis de ambiente de um arquivo .env no objeto process.env.

Para usar o DotEnv, primeiro instale-o usando o comando: npm i dotenv. Depois, no sua aplicação, solicite e configure o pacote da seguinte maneira: require('dotenv').config().

Observe que alguns pacotes, como o Create React App, já incluem o DotEnv. Alguns provedores da nuvem podem ter meios completamente diferentes de definir variáveis de ambiente. Certifique-se, então, de verificar a documentação dos pacotes e dos provedores antes de seguir as orientações deste artigo.

Como criar um arquivo .env

Quando tiver o DotEnv instalado e configurado, crie um arquivo chamado .env no nível superior de sua estrutura de arquivos. É lá que você criará todas as suas variáveis de ambiente, escritas no formato NOME=valor. Por exemplo, você pode definir uma variável para a porta com o valor 3000, assim: PORT=3000.

Você pode declarar diversas variáveis no arquivo .env. É possível definir variáveis de ambiente relativas ao banco de dados da seguinte forma:

DB_HOST=localhost
DB_USER=admin
DB_PASSWORD=password

Não é preciso envolver as strings em aspas. O DotEnv já faz isso automaticamente para você.

Depois de criar esse arquivo, lembre-se de não enviá-lo para o GitHub, já que ele pode conter dados confidenciais, como chaves de autenticação e senhas. Adicione o arquivo ao .gitignore para evitar de enviá-lo a um repositório público por acidente.

Como acessar as variáveis de ambiente

Acessar suas variáveis é muito fácil! Elas estão associadas ao objeto process.env, de modo que você pode acessá-las usando o padrão process.env.CHAVE.

Se precisar em algum momento mudar o valor de qualquer uma de suas variáveis de ambiente, basta alterar os valores no arquivo .env.

Conclusão

Variáveis de ambiente facilitarão a manutenção de seu código e o tornarão mais seguro. Elas são fáceis de configurar com o DotEnv e podem ser usadas diretamente no Node.

Agora que você sabe o que precisa fazer, pode criar suas próprias variáveis de ambiente para sua aplicação do Node. Aproveite!