NestJS

Como trabalhar com variaveis de ambiente no NestJS?!

Guia: Como Trabalhar com Variáveis de Ambiente no NestJS

Neste guia, vamos explorar como trabalhar com variáveis de ambiente no NestJS, um framework Node.js para construir aplicativos escaláveis e modulares. O uso de variáveis de ambiente é essencial para configurar e gerenciar as configurações de seu aplicativo de forma segura e flexível.

Tópico 1: Variáveis de Ambiente no NestJS

Variáveis de ambiente são valores que podem ser configurados fora de seu aplicativo e são usados para armazenar configurações sensíveis ou valores que podem variar entre ambientes (desenvolvimento, teste, produção).

Tópico 2: Configurando Variáveis de Ambiente

2.1. Uso do pacote dotenv

O pacote dotenv é uma biblioteca comum para carregar variáveis de ambiente de um arquivo .env. Para começar, instale o dotenv em seu projeto:

npm install dotenv

2.2. Criando um arquivo .env

Crie um arquivo .env na raiz de seu projeto e adicione variáveis como chave-valor. Por exemplo:

DATABASE_URL=mongodb://localhost/meuapp
PORT=3000
SECRET_KEY=minhachave123

2.3. Carregando Variáveis de Ambiente

No ponto de entrada de seu aplicativo NestJS (geralmente main.ts), carregue as variáveis de ambiente usando dotenv:

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import * as dotenv from 'dotenv';

dotenv.config(); // Carregar variáveis de ambiente do arquivo .env

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  await app.listen(process.env.PORT || 3000); // Usar PORT definida no arquivo .env ou 3000 como valor padrão
}
bootstrap();

Tópico 3: Usando Variáveis de Ambiente

Agora que as variáveis de ambiente estão configuradas, você pode usá-las em seu aplicativo NestJS.

import { Injectable } from '@nestjs/common';

@Injectable()
export class MinhaService {
  // Acesse uma variável de ambiente
  private databaseUrl = process.env.DATABASE_URL;

  // Use a variável em sua lógica
  async conectarAoBancoDeDados() {
    // Use this.databaseUrl para se conectar ao banco de dados
  }
}

Tópico 4: Variáveis de Ambiente em Diferentes Ambientes

Você pode ter arquivos .env separados para diferentes ambientes, como .env.dev para desenvolvimento e .env.prod para produção. Carregue o arquivo apropriado com base no ambiente.

if (process.env.NODE_ENV === 'development') {
  dotenv.config({ path: '.env.dev' });
} else {
  dotenv.config({ path: '.env.prod' });
}

Tópico 5: Segurança

Mantenha suas variáveis de ambiente seguras. Evite armazenar informações sensíveis diretamente no arquivo .env e use soluções de segurança adequadas, como segredos e tokens.

Tópico 6: Conclusão

O uso de variáveis de ambiente no NestJS é fundamental para configurar seu aplicativo de maneira flexível e segura. Isso permite que você gerencie facilmente as configurações do aplicativo em diferentes ambientes e mantenha informações sensíveis protegidas. Certifique-se de seguir as melhores práticas de segurança ao lidar com variáveis de ambiente em seu projeto NestJS.