
Compartilhar:
Diana é defensora de desenvolvedores na Vonage. Ela gosta de comer ostras frescas.
Como usar variáveis de ambiente em JavaScript com o Dotenv
Tempo de leitura: 2 minutos
Introdução
Inserir informações confidenciais diretamente nos arquivos-fonte é como escrever sua senha em um post-it e deixá-lo no seu laptop à vista de todos — não é uma boa ideia! Uma abordagem melhor e mais segura é usar variáveis de ambiente, que armazenam com segurança dados confidenciais, como chaves de API e senhas, fora da sua base de código.
Nem todas as estruturas de JavaScript importam automaticamente as variáveis de ambiente; portanto, usar um módulo como dotenv —uma biblioteca leve e sem dependências—é uma boa prática para simplificar esse processo. O dotenv lê as variáveis definidas em um .env arquivo e as carrega no objeto process.env , que atua como um repositório global para variáveis de ambiente na forma de pares chave-valor (todos os valores salvos como strings). Essa configuração garante que suas informações confidenciais fiquem acessíveis de forma segura em toda a sua aplicação, sem expô-las no código.
Agora, vamos ver como usar variáveis de ambiente com o dotenv por meio de um exemplo prático: enviando uma mensagem pelo WhatsApp usando a Messages API for Vonage!
Instalar o Dotenv
Execute os seguintes comandos no seu terminal para inicializar o npm, instalar o dotenv e inicializar o repositório git do projeto:
// initialize npm on the project
npm init -y
// install dotenv
npm install dotenv --save
// initialize git repo
git init Use o Dotenv
Para começar a usar o dotenv, crie um .env arquivo no diretório raiz do seu projeto. Esse arquivo conterá suas variáveis de ambiente. Você pode acompanhar o tutorial completo em enviar uma mensagem pelo WhatsApp para encontrar esses valores no seu aplicativo Vonage:
VONAGE_API_KEY="your-api-key"
VONAGE_API_SECRET="your-api-secret"
VONAGE_APPLICATION_ID="your-application-id"
VONAGE_PRIVATE_KEY="path/to/your/private.key"
TO_NUMBER="recipient-phone-number"
WHATSAPP_NUMBER="sender-phone-number"Observação: se sua variável contiver espaços, coloque-a entre aspas.
Envie uma mensagem pelo WhatsApp com a Messages API da Vonage
Em seguida, crie um send-whatsapp-message.js arquivo.
Adicione esta linha como ponto de entrada do aplicativo para configurar o dotenv:
require('dotenv').config();Adicione esta linha e execute-a; depois, remova-a assim que confirmar que o dotenv está funcionando:
console.log(process.env);Para acessar variáveis de ambiente no Node.js, use process.env seguido do nome da variável. Por exemplo:
const VONAGE_APPLICATION_ID = process.env.VONAGE_APPLICATION_ID;Adicione o código restante:
// initialize dependencies
const VONAGE_APPLICATION_ID = process.env.VONAGE_APPLICATION_ID;
const VONAGE_PRIVATE_KEY = process.env.VONAGE_PRIVATE_KEY;
const TO_NUMBER = process.env.TO_NUMBER;
const WHATSAPP_NUMBER = process.env.WHATSAPP_NUMBER;
const { Vonage } = require('@vonage/server-sdk');
const { WhatsAppText } = require('@vonage/messages');
const vonage = new Vonage({
applicationId: VONAGE_APPLICATION_ID,
privateKey: VONAGE_PRIVATE_KEY,
});
// the logic
vonage.messages.send(
new WhatsAppText({
text: 'This is a WhatsApp Message text message sent using the Messages API',
to: TO_NUMBER,
from: WHATSAPP_NUMBER,
}),
)
.then((resp) => console.log(resp.messageUUID))
.catch((error) => console.error(error));Agora, se você executar o código, ele deverá acessar suas variáveis de ambiente para enviar a mensagem:
node send-whatsapp-message.jsOutra maneira de chamá-lo .env é chamá-lo dentro de um script. Isso significa que você não precisará require('dotenv').config() no início do seu send-whatsapp-message.js arquivo. Em vez disso, vá até o package.json e crie um script chamado “dev” como a seguir:
"scripts": {
"dev": "node -r dotenv/config send-whatsapp-message.js"Se você executar o script, ainda terá suas variáveis de ambiente!
npm run dev Gerenciar vários ambientes
Em projetos complexos, pode ser necessário utilizar diferentes .env arquivos para os ambientes de desenvolvimento, teste e produção. Ferramentas como dotenv-cli podem ajudá-lo a gerenciar vários ambientes.
Por exemplo, você pode usar diferentes .env arquivos:
.env.local.env.production
Carregue-os com o dotenv-cli :
$ dotenv -e .env.production node send-whatsapp-message.js Implemente com segurança
Para uma implantação segura, .env os arquivos nunca devem ser enviados para o controle de versão! Use .gitignore para excluí-los.
Para fazer isso, crie um .gitignore arquivo com o seguinte conteúdo:
.envAgora, quando você faz um commit no Git, tudo exceto os arquivos listados será enviado para o repositório.
Conclusão
Agora que você aprendeu a usar variáveis de ambiente em JavaScript, pode parar de codificar diretamente suas informações pessoais no código e enviá-las para o ambiente de produção, onde ficariam à vista de todos! Você conhece outras práticas recomendadas para o uso de variáveis de ambiente? Se sim, compartilhe-as e me marque — adoraria saber mais sobre elas! Além disso, fique à vontade para participar da nossa comunidade no Slack e nos seguir no X, antes conhecido como Twitter. Boa programação!