<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Paulo Ricardo Zambelli Taveira</title>
    <description>The latest articles on DEV Community by Paulo Ricardo Zambelli Taveira (@pauloricardoz).</description>
    <link>https://dev.to/pauloricardoz</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F914976%2F01b7c575-d9a1-42bf-a503-76f87c1a55e7.png</url>
      <title>DEV Community: Paulo Ricardo Zambelli Taveira</title>
      <link>https://dev.to/pauloricardoz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pauloricardoz"/>
    <language>en</language>
    <item>
      <title>Usando variáveis de ambiente em Node.js (.env )</title>
      <dc:creator>Paulo Ricardo Zambelli Taveira</dc:creator>
      <pubDate>Thu, 25 Aug 2022 09:53:48 +0000</pubDate>
      <link>https://dev.to/pauloricardoz/usando-variaveis-de-ambiente-em-nodejs-env--4ioi</link>
      <guid>https://dev.to/pauloricardoz/usando-variaveis-de-ambiente-em-nodejs-env--4ioi</guid>
      <description>&lt;h2&gt;
  
  
  Contexto/ História
&lt;/h2&gt;

&lt;p&gt;Vamos começar a abordar esse assunto por um exemplo.&lt;/p&gt;

&lt;p&gt;Vamos imaginar que você está trabalhando em um projeto particular que faz coisas sensacionais, e agiliza muito sua vida. Inicialmente, você não tem a intenção de tirá-lo de da sua máquina.&lt;/p&gt;

&lt;p&gt;Logo, poderia colocar alguns dados como:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// imaginem que esse é seu cpf&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;cpf&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;000.000.000-00&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="c1"&gt;// e esse é seu cartão de crédito&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;creditCard&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;9999999999999999&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Se meu projeto não for sair da sua máquina, tudo bem (melhor ainda seria se a máquina estivesse desconectada da internet 🤣). E sempre que seu cartão expira, você deve procurar no seu código esse campo e atualizá-lo (mas isso é moleza, por você conhece de o código como "a palma da sua mão").&lt;/p&gt;

&lt;p&gt;Mas, e se tivesse que subir esse código para uma pessoa de sua maior confiança, para ela também poder aproveitar dos benefícios dessa aplicação? Poderíamos enviar do jeito que está (lembre-se que essa pessoa é uma das que você mais confia, e com razão). Quando ela fosse utilizar teria que trocar os dados seus dados pelos dela.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// const cpf = '000.000.000-00';&lt;/span&gt;
&lt;span class="c1"&gt;// imaginem que esse é o cpf dela&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;cpf&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;111.111.111-11&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;//const creditCard = '9999999999999999';&lt;/span&gt;
&lt;span class="c1"&gt;// e esse é o cartão de crédito dela&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;creditCard&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;8888888888888888&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Até aqui também tudo bem. &lt;/p&gt;

&lt;p&gt;Agora vamos pensar que essa aplicação é tão boa que necessita de de várias outras configurações padrões que não necessitam de alteração, mas terminam de certa forma dificultando acharmos esses valores que necessitam ser trocados. &lt;/p&gt;

&lt;p&gt;Isso já começa a incomodar, não a você, pois sabe exatamente onde alterar esse valor, porém as pessoas de sua confiança que receberam uma cópia desse código não vão "gostar" tanto desse trabalho,né?!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi5s63wr2u4kelws5zstn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi5s63wr2u4kelws5zstn.png" alt="achando dados no código"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Vamos ser mais criativos, e imaginar que uma dessas pessoas perdeu seu código em uma convenção de fraude de cartões de crédito, que para seu azar contou com a presença de várias pessoas que "vivem" disso para algumas apresentações.&lt;/p&gt;

&lt;p&gt;E agora, como você fica? Com desespero, angustia ou raiva? &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fes8ewy6fg9ppw6xpqt7q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fes8ewy6fg9ppw6xpqt7q.png" alt="Desespero"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Será que isso poderia ter sido evitado de alguma forma?&lt;/p&gt;

&lt;p&gt;Essas situações temos algumas em comuns: todas envolvem dados: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sensíveis 🤐;&lt;/li&gt;
&lt;li&gt;Expiráveis ⌛;&lt;/li&gt;
&lt;li&gt;Personalizáveis 😎 😇 😁;&lt;/li&gt;
&lt;li&gt;E de certa forma catastróficos se perdidos 🤯.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Vamos para a solução
&lt;/h2&gt;

&lt;p&gt;Então como deveriamos ter procedido nesse caso?&lt;/p&gt;

&lt;p&gt;Poderiamos ter configurado nosso ambiente de trabalho para que ele, e somente ele soubesse os valores desses dados.&lt;/p&gt;

&lt;p&gt;Mas como fazer isso, você deve estar se perguntando:&lt;/p&gt;

&lt;p&gt;Utilizando NodeJS podemos fazer isso de 2 formas fáceis.&lt;br&gt;
1️⃣ A primeira seria passando os valores que queremos dentro do código direto no terminal. Vamos ver como ficaria para passar o CPF para dentro da aplicação.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;CPF&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;111.111.111-11 node appMaravilha.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Dentro da nossa aplicação esse valor vai ficar "conectado" ao processo da aplicação maravilhosa que foi desenvolvida. Logo, dentro do código você pode acessar da seguinte forma:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;cpf&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;CPF&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="c1"&gt;// Esse ainda é seu cartão de crédito&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;creditCard&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;9999999999999999&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Notem que haveria a necessidade de colocar as aspas para delimitarmos onde o valor começa e termina quando tiver caracteres que podem fazer o terminal achar que estamos fazendo outro comando (como espaço, &amp;lt;, &amp;gt;, e outros).&lt;/p&gt;

&lt;p&gt;2️⃣ A segunda seria criando uma arquivo para guardar essas variáveis que você quer no seu ambiente/máquina (em inglês:  environment variables). E o nome desse arquivo é &lt;code&gt;.env&lt;/code&gt;, dessa forma ele fica escondido de pessoas desavisadas por causa do &lt;code&gt;.&lt;/code&gt;(ponto) no começo do nome e o &lt;code&gt;env&lt;/code&gt; representa o enviroment (ambiente).&lt;/p&gt;

&lt;p&gt;E como fica a criação do desse arquivo? Simples, vamos dar uma olhada.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CPF=111.111.111-11
CREDIT_CARD =9999999999999999
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Nesse caso não se deve colocar &lt;code&gt;aspas&lt;/code&gt; para passar qualquer tipo de valor. Tudo dentro do arquivo &lt;code&gt;.env&lt;/code&gt; é considerado como string.&lt;/p&gt;

&lt;p&gt;E para capturar esse valor no código deve-se fazer a adição de um pacote chamada &lt;code&gt;dotenv&lt;/code&gt; (em inglês, dot=ponto / env=ambiente).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dotenv&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;config&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="c1"&gt;// outra forma possível de usar esse pacote&lt;/span&gt;
&lt;span class="c1"&gt;// require('dotenv/config') ;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;cpf&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;CPF&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;creditCard&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;CREDIT_CARD&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Um ponto importante é que geralmente colocamos esse arquivo &lt;code&gt;.env&lt;/code&gt; na pasta raiz do projeto, pois a função &lt;code&gt;config&lt;/code&gt; busca na pasta do arquivo que a executou, e posteriormente nas pastas "pais". Existe a possibilidade de termos mais de 1 arquivo &lt;em&gt;.env&lt;/em&gt;, mas isso é fortemente desaconselhado.😱&lt;/p&gt;

&lt;h2&gt;
  
  
  Uma forma melhor que a outra?
&lt;/h2&gt;

&lt;p&gt;Como na vida, não existe uma solução perfeita. Tendo uma boa justificativa e um código bem construído, ambas tem vantagens.&lt;/p&gt;

&lt;p&gt;Seja por velocidade em alternar entre os valores, agilidade para passar/definir uma grande quantidade de variáveis de uma única vez e/ou facilidade de repetir o processo atribuição desses dados.&lt;/p&gt;

&lt;h2&gt;
  
  
  Boas práticas
&lt;/h2&gt;

&lt;p&gt;🧐 É importante resaltar que &lt;em&gt;NÃO HÁ PADRÃO OFICIAL&lt;/em&gt; de como escrever os nomes das variáveis de ambiente, mas é quase um consenso de utilizar em SNAKE_CASE em caixa alta (palavras maiúsculas separadas por underscore). &lt;em&gt;Logo, se utilizar alguma forma diferente dessa existe a chance de te olharem da mesma forma que olham para pessoas desenvolvedoras que usam tema claro na IDE para codarem 🤣&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;✨ Quando construir seu código coloque valores padrões para caso alguém rode seu código não receba erros porque usa lógica não estava esperando um valor &lt;code&gt;undefined&lt;/code&gt;. Nosso código ficaria assim:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dotenv&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;config&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;cpf&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;CPF&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;555.555.555-55&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;creditCard&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;CREDIT_CARD&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;5555555555555555&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🔨 Quando achar viável, desconstrua as variáveis atribuindo valores padrões.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dotenv&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;config&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
   &lt;span class="nx"&gt;cpf&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;555.555.555-55&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
   &lt;span class="nx"&gt;creditCard&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;5555555555555555&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Resumo técnico
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Passando direto no terminal
&lt;/h3&gt;

&lt;p&gt;Não há necessidade de pacotes adicionais.&lt;br&gt;
No terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;NOME_DA_VARIAVEL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;VALOR_QUE_SERA_UMA_STRING node app.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No código:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;NOME_DA_VARIAVEL&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;NOME_DA_VARIAVEL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Passando através de um arquivo &lt;code&gt;.env&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Necessitamos do dotenv.&lt;br&gt;
No arquivo .env:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NOME_DA_VARIAVEL=VALOR_QUE_SERA_UMA_STRING
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No código:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dotenv/config&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;NOME_DA_VARIAVEL&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;NOME_DA_VARIAVEL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Agradecimentos
&lt;/h2&gt;

&lt;p&gt;Para você que chegou até aqui, meu muito obrigado. Tentei fazer esse artigo da forma mais leve, mas com uma boa quantidade/qualidade de informação.&lt;/p&gt;

&lt;p&gt;Nos vemos em breve!&lt;/p&gt;

&lt;h2&gt;
  
  
  Referências
&lt;/h2&gt;

&lt;p&gt;Recomendo fortemente dar uma olhada nessas referencias por aprofundarem muito mais no assunto. 😉&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://nodejs.dev/en/learn/how-to-read-environment-variables-from-nodejs" rel="noopener noreferrer"&gt;NodeJS&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/motdotla/dotenv/tree/228c7b449dd9adfa93447ba74c8bf894db3068e5" rel="noopener noreferrer"&gt;Repo dotenv&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>env</category>
      <category>javascript</category>
      <category>node</category>
      <category>express</category>
    </item>
  </channel>
</rss>
