it-swarm-pt.tech

Leia as variáveis ​​de ambiente no Node.js

Existe uma maneira de ler variáveis ​​de ambiente no código Node.js?

Como, por exemplo, o os.environ['HOME'] do Python.

1161
Jayesh
process.env.ENV_VARIABLE

Onde ENV_VARIABLE é o nome da variável que você deseja acessar.

Veja os documentos Node.js para process.env .

1739
Jayesh

Ao usar Node.js , você pode recuperar variáveis ​​de ambiente por chave do objeto process.env:

por exemplo

var mode   = process.env.NODE_ENV;
var apiKey = process.env.apiKey; // '42348901293989849243'

Aqui está a resposta que irá explicar definir variáveis ​​de ambiente em node.js

120
Subodh Ghulaxe

Se você quiser usar uma chave de string gerada em seu programa Node.js, digamos, var v = 'HOME', você pode usar process.env[v].

Caso contrário, o process.env.VARNAME deve ser codificado no seu programa.

50
user2574650

Para recuperar variáveis ​​de ambiente no Node.JS, você pode usar process.env.VARIABLE_NAME , mas não se esqueça de que a designação de uma propriedade em process.env implicitamente converterá o valor em uma string.

Evite a lógica booleana

Mesmo que o seu arquivo .env defina uma variável como SHOULD_SEND = false ou SHOULD_SEND = 0 , os valores serão convertidos para strings ( “false” e “0” respectivamente ) e não interpretados como booleanos.

if (process.env.SHOULD_SEND) {
 mailer.send();
} else {
  console.log("this won't be reached with values like false and 0");
}

Em vez disso, você deve fazer verificações explícitas. Eu encontrei dependendo do nome do ambiente vai um longo caminho.

 db.connect({
  debug: process.env.NODE_ENV === 'development'
 });
18
Igor Litvinovich

Você pode usar env ​​ package para gerenciar suas variáveis ​​de ambiente por projeto:

  • Crie um arquivo .env no diretório do projeto e coloque todas as suas variáveis ​​lá.
  • Adicione esta linha na parte superior do arquivo de entrada do seu aplicativo:
    require('dotenv').config();

Feito. Agora você pode acessar suas variáveis ​​de ambiente com process.env.ENV_NAME.

11
Huy Vo

Por que não usá-los no diretório Usuários no .bash_profile para que você não precise enviar nenhum arquivo com suas variáveis ​​para produção.

0
Brad Vanderbush