
Utilizando variáveis de ambiente no Node
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.