"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Variáveis ​​de ambiente: uma breve introdução ao desenvolvimento JS

Variáveis ​​de ambiente: uma breve introdução ao desenvolvimento JS

Publicado em 31/10/2024
Navegar:996

Environment Variables: a very short intro for JS development

Este artigo pretende ser uma breve investigação sobre variáveis ​​de ambiente para mim, daí o estilo conciso

O básico

  • O terminal é um aplicativo que é na verdade um emulador de terminal
  • Usamos o terminal para interagir com o shell
  • O shell pode gerar processos, como um programa Javascript por meio de outro aplicativo, como o node
    • por exemplo shell -> nó -> index.js
  • Quando abrimos o terminal, uma nova sessão é criada no shell
  • Esta sessão possui variáveis ​​que podem ser associadas a ela (ex. echo $USER imprime o nome do usuário atual)

No nó, as variáveis ​​de ambiente são acessadas por meio do process.env global

console.log(process.env.USER); // username
  • Os aplicativos normalmente acessam segredos ou dados relacionados à configuração por meio de variáveis ​​de ambiente
    • por exemplo process.env.DB_CONNECTION
    • Isso é útil porque queremos manter os segredos em segredo, e nem todos os usuários terão as mesmas necessidades de configuração - isso permite uma melhor dissociação entre lógica e configuração

métodos para carregar variáveis

Existem algumas maneiras de disponibilizar essas variáveis ​​para nossos programas.

(1) disponibilizá-los através da linha de comando:

Muito simples - basta chamar o comando com a variável na linha de comando.

DB_CONNECTION="postgresql://username:password@host:port/database_name" node index.js

(2) armazená-los em um arquivo .env

Os arquivos

.env consistem em CHAVES e VALORES que são separados por um sinal de igual.

DB_CONNECTION="postgresql://username:password@host:port/database_name"

Esses arquivos são comuns e existem algumas maneiras de disponibilizá-los para seu aplicativo.

direnv

Use uma ferramenta como direnv que carrega variáveis ​​de um arquivo e as disponibiliza no shell; normalmente é instalado globalmente.

Por padrão, o direnv procura um arquivo .envrc, mas também pode usar .env, veja aqui para configurá-lo para fazer isso.

dotenv

Use uma ferramenta como dotenv que carrega variáveis ​​de um arquivo e as disponibiliza em process.env.

direnv vs dotenv

Existem prós e contras para cada método.

Usar direnv é independente de linguagem e significa uma dependência a menos, mas também significa que os consumidores de seu aplicativo precisam de sua própria maneira de carregar variáveis ​​de ambiente se não estiverem usando direnv;

O uso do dotenv garante que os consumidores do aplicativo possam usar apenas um arquivo .env sem preocupações, mas adiciona um pacote apenas para fazer algo que o shell pode fazer nativamente.

sinalizador de nó

O Node incluiu recentemente suporte (v20.6.0) para usar arquivos .env diretamente.

Um sinalizador deve ser usado

node --env-file=.env index.js

Como dotenv, isso disponibiliza o conteúdo de .env em process.env.

Resumo

  • variáveis ​​de ambiente são tecnologia nativa do shell
  • existem algumas maneiras diferentes de carregá-los — diretamente, direnv, dotenv, node
  • direnv carrega variáveis ​​​​em seu shell, mas dotenv e node apenas as disponibilizam para seu aplicativo via process.env
  • se estiver usando o node, você provavelmente deve optar por usar o novo sinalizador --env-file
Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/charlesloder/environment-variables-a-very-short-intro-for-js-development-18j3?1 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3