Como ler variáveis de ambiente do Node.js
O módulo central process
do Node.js fornece a propriedade env
que hospeda todas as variáveis de ambiente que foram definidas no momento em que o processo foi iniciado.
O código abaixo executa app.js
e define USER_ID
e USER_KEY
.
USER_ID=239482 USER_KEY=foobar node app.js
Isso passará o usuário USER_ID
como 239482 e o USER_KEY
como foobar. Isso é adequado para testes, no entanto, para produção, você provavelmente estará configurando alguns scripts bash para exportar variáveis.
NOTE
process
não requer um "require"
, ele está automaticamente disponível.
Aqui está um exemplo que acessa as variáveis de ambiente USER_ID
e USER_KEY
, que definimos no código acima.
process.env.USER_ID; // "239482
process.env.USER_KEY; // "foobar
Da mesma forma, você pode acessar qualquer variável de ambiente personalizada que você definir. O Node.js 20 introduziu suporte experimental para arquivos .env.
Agora, você pode usar a flag --env-file
para especificar um arquivo de ambiente ao executar seu aplicativo Node.js. Aqui está um exemplo de arquivo .env
e como acessar suas variáveis usando process.env
.
.env file
PORT=3000
No seu arquivo js
process.env.PORT; // 3000
Execute o arquivo app.js
com variáveis de ambiente definidas no arquivo .env
.
node --env-file=.env app.js
Este comando carrega todas as variáveis de ambiente do arquivo .env
, tornando-as disponíveis para o aplicativo em process.env
. Além disso, você pode passar vários argumentos --env-file. Arquivos subsequentes substituem variáveis preexistentes definidas em arquivos anteriores.
node --env-file=.env --env-file=.development.env app.js
NOTE
Se a mesma variável for definida no ambiente e no arquivo, o valor do ambiente terá precedência.