NestJS para JavaScript (Node.js): guia completo com exemplos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

O que é NestJS e por que usá-lo?

NestJS é um framework progressivo para criar aplicações server-side eficientes, robustas e escaláveis em Node.js. Ele utiliza uma arquitetura expressiva inspirada no Angular e é construído sobre TypeScript por padrão, mas oferece suporte total ao JavaScript puro. O NestJS abstrai os detalhes de baixo nível de bibliotecas populares como Express (padrão) ou Fastify, fornecendo ao desenvolvedor um conjunto poderoso de ferramentas para organizar o código: módulos, controladores, serviços, provedores, middlewares, guards, interceptors, pipes e filters.

Por que usar NestJS? No desenvolvimento web moderno com Node.js, a organização do código costuma ser um problema: scripts simples em Express rapidamente se transformam em "espaguete" à medida que a funcionalidade cresce. O NestJS resolve isso impondo uma estrutura modular clara e princípios de injeção de dependência (Dependency Injection). Isso facilita os testes, a manutenção e a escalabilidade da aplicação. O framework é ideal para criar REST APIs, servidores GraphQL, microsserviços e aplicações em tempo real (WebSockets).

A principal vantagem do NestJS é seu ecossistema. Ele oferece módulos oficiais para trabalhar com bancos de dados (TypeORM, Mongoose, Prisma), autenticação (Passport), validação (class-validator), configuração, filas (Bull), cache e muito mais. Graças a isso, o desenvolvedor pode focar na lógica de negócio, em vez de integrar bibliotecas heterogêneas.

Instalação

Para instalar o NestJS, utiliza-se o gerenciador de pacotes npm (ou yarn). Recomenda-se instalar globalmente a ferramenta CLI para criar projetos rapidamente:

npm install -g @nestjs/cli

Após instalar o CLI, você pode criar um novo projeto com o comando:

nest new meu-projeto-nest

Durante a instalação, você escolherá o gerenciador de pacotes (npm, yarn ou pnpm) e a linguagem (TypeScript — recomendado, ou JavaScript). Se quiser adicionar NestJS a um projeto existente, instale os pacotes principais:

npm install @nestjs/core @nestjs/common @nestjs/platform-express reflect-metadata rxjs

Observação: a biblioteca reflect-metadata é obrigatória para o funcionamento dos decoradores.

Início rápido: exemplo mínimo funcional

Vamos criar uma REST API simples com um endpoint que retorna "Hello World".

Passo 1: Crie o arquivo app.controller.js

// app.controller.js
const { Controller, Get } = require('@nestjs/common');

@Controller()
export class AppController {
    @Get()
    getHello() {
        return 'Hello World!';
    }
}

Passo 2: Crie o arquivo app.module.js

// app.module.js
const { Module } = require('@nestjs/common');
const { AppController } = require('./app.controller');

@Module({
    controllers: [AppController],
})
export class AppModule {}

Passo 3: Crie o arquivo principal main.js

// main.js
const { NestFactory } = require('@nestjs/core');
const { AppModule } = require('./app.module');

async function bootstrap() {
    const app = await NestFactory.create(AppModule);
    await app.listen(3000);
    console.log('Servidor rodando em http://localhost:3000');
}
bootstrap();

Passo 4: Execute a aplicação

node main.js

Agora acesse http://localhost:3000 — você verá "Hello World!".

Principais métodos, classes e decoradores

Abaixo estão 8 elementos-chave do NestJS com assinaturas, descrição e exemplos em JavaSc

Recommendations