1
resposta

Variavel de ambiente

Gostaria de utilizar variaveis de ambiente pra configurar meu banco de dados, pra não subir meus dados no git, por exemplo..

No entanto, não sei como proceder pra importar essa variável no arquivo responsável pela configuração.. ele é json e não js.. Como eu faria essa proteção de forma correta?

1 resposta

Oi, Mario, tudo bem?

Você pode utilizar o pacote dotenv: https://www.npmjs.com/package/dotenv Ele cria as variáveis de ambiente, vou dar um exemplo de como usei num projeto:

Arquivo db_config.js

import dotenv from 'dotenv'
dotenv.config()

const account = {
    host: process.env.HOST,
    username: process.env.USERDB,
    password: process.env.PASSWORD,
    database: process.env.DATABASE,
    multipleStatements: true
}
export default account;

E o meu arquivo .env, dessa forma:

HOST= 'localhost'
USERDB= 'root'
PASSWORD= '1234'
DATABASE='teste'

As variáveis que declarei no arquivo .env chamei exatamente igual no db_config.js

E como você deseja subir no github, é importante configurar no .gitigore para que não suba o arquivo .env, dessa forma:

/node_modules
/.vscode
/.env

E para manter a didática do projeto, você cria uma arquivo chamado .env.exemple, em que você coloca como você configurou o seu .env sem as senhas, dessa forma:

HOST= XXXXX
USERDB= XXXXX
PASSWORD= XXXXX
DATABASE= XXXXX

Qualquer dúvida é só falar!