Este artigo pretende ser uma breve investigação sobre variáveis de ambiente para mim, daí o estilo conciso
No nó, as variáveis de ambiente são acessadas por meio do process.env global
console.log(process.env.USER); // username
Existem algumas maneiras de disponibilizar essas variáveis para nossos programas.
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
.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.
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.
Use uma ferramenta como dotenv que carrega variáveis de um arquivo e as disponibiliza em process.env.
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.
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.
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