Como ler variáveis de ambiente do Node.js
O módulo principal process
do Node.js fornece a propriedade env
, que hospeda todas as variáveis de ambiente 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 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.
NOTA
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 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
.
arquivo .env
PORT=3000
No seu arquivo js
process.env.PORT // 3000
Execute o arquivo app.js
com as 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
NOTA
Se a mesma variável for definida no ambiente e no arquivo, o valor do ambiente terá precedência.