Lançado · em melhoria
Framework · Desde 2017
NestJS é um framework TypeScript para servidores Node.js com módulos e injeção de dependência, que roda sobre o Express, o framework web minimalista.
Express é o framework web mais usado para Node.js. Ele oferece um núcleo pequeno de roteamento e middleware e deixa a estrutura da aplicação por sua conta. O NestJS, lançado em 2017, é um framework de servidor baseado em TypeScript e decorators que traz módulos, controllers, providers e injeção de dependência. O Nest delega o tratamento de HTTP a um adaptador de plataforma, que por padrão é o Express; assim, uma aplicação Nest funciona internamente como um servidor Express e pode usar middleware do Express diretamente.
O Express combina com APIs pequenas, protótipos e projetos em que você quer definir a estrutura por conta própria. O NestJS mostra seu valor quando o código e a equipe crescem: APIs REST e GraphQL de longa duração, microsserviços e servidores em tempo real. Pipes validam a entrada, guards cuidam da autorização, e o framework se integra naturalmente a testes com Jest e a ORMs como TypeORM e Prisma.
Com o Node.js instalado, o Express exige apenas npm install express e algumas linhas de código. Para o NestJS, crie um projeto com a Nest CLI e leia a documentação oficial a partir de First steps. Entender antes as requisições, respostas e middleware do Express ajuda a perceber o que o Nest acrescenta.
Divida as funcionalidades em módulos e receba providers, como services, pelo construtor, reduzindo o acoplamento e facilitando os testes.
Declare rotas e entradas com decorators como @Controller, @Get e @Body, e adicione lógica transversal com pipes, guards e interceptors.
O Express é a plataforma HTTP padrão, então seu ecossistema de middleware funciona como está, e é possível trocar para o Fastify quando necessário.
Usado sozinho, o Express oferece um núcleo pequeno de roteamento e middleware para criar servidores rapidamente com a estrutura que você preferir.
Tanto o NestJS quanto o Express rodam sobre o Node.js. Instale a versão LTS pelo nodejs.org e confira se node e npm mostram suas versões.
node --version && npm --versionInstale a ferramenta oficial de linha de comando que cria projetos e gera código. Se for usar só o Express, pule esta etapa e rode npm install express na pasta do projeto.
npm i -g @nestjs/cliCrie um novo projeto e inicie o servidor de desenvolvimento em modo watch. A CLI pergunta qual gerenciador de pacotes usar; ao final, a aplicação responde em http://localhost:3000.
nest new hello-nest && cd hello-nest && npm run start:devUm projeto criado com nest new já traz este controller. @Controller() registra a classe como controller, e @Get() liga as requisições GET na rota raiz ao método getHello. O AppService é injetado pelo construtor, enquanto src/main.ts cria a aplicação a partir do AppModule e escuta na porta 3000.
src/app.controller.ts
import { Controller, Get } from '@nestjs/common';
import { AppService } from './app.service';
@Controller()
export class AppController {
constructor(private readonly appService: AppService) {}
@Get()
getHello(): string {
return this.appService.getHello();
}
}
npm run start:devSeis capítulos que levam você da instalação aos conceitos essenciais de NestJS · Express.
Tire dúvidas, compartilhe experiências e troque opiniões sobre NestJS · Express.
Ainda não há discussões. Comece a primeira.
0 comentários
Fazer login · Faça login para deixar um comentário.
Seja o primeiro a comentar.