Publicado · en mejora
Framework · Desde 2017
NestJS es un framework TypeScript para servidores Node.js con módulos e inyección de dependencias, que se ejecuta sobre Express, el framework web minimalista.
Express es el framework web más utilizado para Node.js. Ofrece un núcleo pequeño de enrutamiento y middleware y deja la estructura de la aplicación en tus manos. NestJS, publicado por primera vez en 2017, es un framework de servidor basado en TypeScript y decoradores que aporta módulos, controladores, proveedores e inyección de dependencias. Nest delega el manejo de HTTP en un adaptador de plataforma, que por defecto es Express, así que una aplicación Nest funciona internamente como un servidor Express y puede usar su middleware directamente.
Express encaja en APIs pequeñas, prototipos y proyectos en los que prefieres diseñar la estructura tú mismo. NestJS muestra su valor cuando crecen el código y el equipo: APIs REST y GraphQL de larga vida, microservicios y servidores en tiempo real. Los pipes validan la entrada, los guards controlan la autorización y el framework se integra con naturalidad con las pruebas basadas en Jest y con ORMs como TypeORM y Prisma.
Con Node.js instalado, Express solo requiere npm install express y unas pocas líneas de código. Para NestJS, crea un proyecto con la Nest CLI y lee la documentación oficial empezando por First steps. Dominar antes las peticiones, respuestas y middleware de Express ayuda a entender lo que Nest añade encima.
Divide las funcionalidades en módulos y recibe proveedores como los servicios a través del constructor, lo que reduce el acoplamiento y facilita las pruebas.
Declara rutas y entradas con decoradores como @Controller, @Get y @Body, y añade lógica transversal con pipes, guards e interceptors.
Express es la plataforma HTTP por defecto, así que su ecosistema de middleware funciona tal cual, y puedes cambiar a Fastify si lo necesitas.
Usado por sí solo, Express ofrece un núcleo pequeño de enrutamiento y middleware para crear servidores rápidamente con la estructura que elijas.
Tanto NestJS como Express se ejecutan sobre Node.js. Instala la versión LTS desde nodejs.org y comprueba que node y npm muestran su versión.
node --version && npm --versionInstala la herramienta oficial de línea de comandos que crea proyectos y genera código. Si solo vas a usar Express, omite este paso y ejecuta npm install express en la carpeta del proyecto.
npm i -g @nestjs/cliCrea un proyecto nuevo y arranca el servidor de desarrollo en modo watch. La CLI pregunta qué gestor de paquetes usar; al terminar, la aplicación responde en http://localhost:3000.
nest new hello-nest && cd hello-nest && npm run start:devUn proyecto creado con nest new incluye este controlador. @Controller() registra la clase como controlador y @Get() asocia las peticiones GET a la ruta raíz con el método getHello. AppService se inyecta por el constructor, mientras src/main.ts crea la aplicación a partir de AppModule y escucha en el puerto 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 te llevan desde la instalación hasta las ideas clave de NestJS · Express.
Haz preguntas, comparte tu experiencia e intercambia opiniones sobre NestJS · Express.
Todavía no hay debates. Empieza el primero.
0 comentarios
Iniciar sesión · Inicia sesión para dejar un comentario.
Sé el primero en comentar.