Professor Marco Antonio Andrade

Utilizando variáveis de ambiente no Node

30/10/2018 - 2 mins de leitura

Há certas ocasiões que se faz necessário armazenar algumas informações utilizando variáveis de ambientes, como usuário e senha ou host de acesso a um banco de dados. Os principais Sistemas Operacionais, Linux, MacOS e Windows, possuem variáveis de ambiente compartilhadas para todas as aplicações, o que pode não ser interessante para armazenar variáveis sensíveis de uma aplicação, as quais você não queira compartilhar.

O node possui uma dependência para facilitar o uso de variáveis de ambiente na aplicação: o dotenv. Para instalar utilize o comando:

npm install --save dotenv

Crie um arquivo .env para armazenar suas variáveis e coloque na raiz do projeto. A seguir, um exemplo de um arquivo .env armazenando variáveis para acesso a um banco de dados MySQL:

HOST=localhost
PORT=3306
DATABASE=db_tarefas
USER=root
PASSWORD=XjjddYY877

Para acessar as variáveis declaradas no .env importe o `dotenv’, assim:

require('dotenv').config();

Finalmente, ao invés de armazenar dados em variáveis como, por exemplo, isso:

const conexao = mysql.createConnection({
    host: 'localhost',
    user: 'suporte',
    password: 'Suporte99',
    database: 'db_tarefas'
});

Faça assim:

const conexao = mysql.createConnection({
    host: process.env.HOST,
    user: process.env.USER,
    password: process.env.PASSWORD,
    database:process.env.DATABASE
});

Ou seja, sempre que precisar de uma variável armazenada no .env utilize process.env.NOME-DA-VARIAVEL.

Mas qual é a vantagem na utilização das variáveis de ambiente? Bom, além da organização, você não corre o risco de enviar informações sensíveis, como senhas, tokens, dentre outros, quando enviar seu projeto para alguém ou algum repositório público.

Por fim, também é muito comum que o seu arquivo .env seja colocado no .gitignore e que um arquivo .env.example seja criado como exemplo da configuração necessária.

Este site usa cookies próprios e de terceiros para melhorar os seus serviços, elaborar informação estatística e mostrar conteúdos ou serviços personalizados através da análise da sua navegação. Para aceitar o seu uso, você pode clicar em Aceitar ou continuar navegando. Além disso, você pode configurar ou rejeitar o uso de cookies ajustando suas Configurações. Para obter mais informações sobre o uso de cookies e seus direitos, acesse nossa Política de Cookies