{"id":7086,"date":"2024-11-18T12:33:16","date_gmt":"2024-11-18T18:33:16","guid":{"rendered":"https:\/\/pulpoline.com\/?p=7086"},"modified":"2024-11-18T12:33:21","modified_gmt":"2024-11-18T18:33:21","slug":"nestjs-para-principiantes-primeros-pasos-y-conceptos-clave","status":"publish","type":"post","link":"https:\/\/pulpoline.com\/en\/2024\/11\/18\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\/","title":{"rendered":"NestJS para Principiantes: Primeros Pasos y Conceptos Clave"},"content":{"rendered":"<p class=\"wp-block-paragraph\"><strong>1. Introducci\u00f3n a NestJS<\/strong>\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">NestJS es un framework progresivo de Node.js creado para construir aplicaciones backend eficientes y escalables. Inspirado en Angular, este framework utiliza TypeScript como su lenguaje principal y aprovecha su sistema de tipos y orientaci\u00f3n a objetos para proporcionar una estructura clara y modular.\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-src=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/NestJs-pagina-principal-1024x535.png\" data-srcset=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/NestJs-pagina-principal-1024x535.png 1024w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/NestJs-pagina-principal-300x157.png 300w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/NestJs-pagina-principal-768x401.png 768w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/NestJs-pagina-principal-1536x803.png 1536w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/NestJs-pagina-principal-2048x1070.png 2048w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/NestJs-pagina-principal-18x9.png 18w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/NestJs-pagina-principal-720x376.png 720w\" fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"535\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" alt=\"\" class=\"wp-image-7088 lazyload\"  sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><noscript><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"535\" src=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/NestJs-pagina-principal-1024x535.png\" alt=\"\" class=\"wp-image-7088\" srcset=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/NestJs-pagina-principal-1024x535.png 1024w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/NestJs-pagina-principal-300x157.png 300w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/NestJs-pagina-principal-768x401.png 768w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/NestJs-pagina-principal-1536x803.png 1536w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/NestJs-pagina-principal-2048x1070.png 2048w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/NestJs-pagina-principal-18x9.png 18w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/NestJs-pagina-principal-720x376.png 720w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"><\/noscript><figcaption class=\"wp-element-caption\">Fuente: <a href=\"https:\/\/nestjs.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/nestjs.com\/<\/a>\u00a0<\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"por-que-elegir-nestjs\"><strong>\u00bfPor qu\u00e9 elegir NestJS?<\/strong><em>\u00a0<\/em><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">NestJS se destaca por su capacidad para construir aplicaciones s\u00f3lidas, modulares y f\u00e1ciles de mantener. A diferencia de otros frameworks de Node.js c\u00f3mo Express, que tienden a ser minimalistas y a depender de librer\u00edas adicionales, NestJS ofrece una arquitectura estructurada desde el inicio, optimizada para grandes aplicaciones. Aqu\u00ed hay algunas de las principales ventajas de usar NestJS:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Modularidad<\/strong>: Permite dividir el c\u00f3digo en m\u00f3dulos, lo cual facilita su organizaci\u00f3n y escalabilidad, especialmente en aplicaciones grandes.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Escalabilidad<\/strong>: Gracias a su enfoque en el desarrollo modular y el uso de principios de programaci\u00f3n orientada a objetos, NestJS facilita la escalabilidad de aplicaciones grandes.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Flexibilidad<\/strong>: Soporta m\u00faltiples enfoques de desarrollo, como APIs REST y GraphQL, y se integra bien con microservicios y WebSockets para aplicaciones en tiempo real.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>TypeScript<\/strong>: Utiliza TypeScript, lo cual mejora la seguridad del c\u00f3digo al detectar errores en tiempo de desarrollo y facilita la colaboraci\u00f3n en equipos grandes.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Inyecci\u00f3n de Dependencias<\/strong>: La inyecci\u00f3n de dependencias est\u00e1 integrada en NestJS, lo que permite construir aplicaciones m\u00e1s modulares y f\u00e1ciles de testear.\u00a0<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"casos-de-uso-comunes-para-nestjs\"><strong>Casos de uso comunes para NestJS<\/strong><em>\u00a0<\/em><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">NestJS es ideal para una variedad de aplicaciones backend, incluidas:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>APIs REST<\/strong>: Su capacidad para construir APIs eficientes y robustas lo convierte en una opci\u00f3n popular para este tipo de aplicaciones.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Microservicios<\/strong>: Proporciona un excelente soporte para crear y gestionar microservicios distribuidos, con integraci\u00f3n para servicios basados en mensajes como Redis, RabbitMQ y Kafka.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Aplicaciones en tiempo real<\/strong>: Gracias a su soporte nativo para WebSockets, NestJS es perfecto para construir aplicaciones que requieren actualizaciones en tiempo real, como chats y notificaciones en vivo.\u00a0<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"2-instalacion-de-nestjs-y-configuracion-del-entorno\"><strong>2. Instalaci\u00f3n de NestJS y Configuraci\u00f3n del Entorno<\/strong>\u00a0<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Empezar con NestJS es f\u00e1cil, gracias a su CLI (Command Line Interface), que facilita la creaci\u00f3n y administraci\u00f3n de proyectos. Aqu\u00ed tienes una gu\u00eda paso a paso para instalar NestJS y configurar el entorno.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Prerrequisitos<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de comenzar, aseg\u00farate de tener lo siguiente instalado en tu m\u00e1quina:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Node.js<\/strong> (versi\u00f3n 14 o superior) y <strong>npm<\/strong> o <strong>yarn<\/strong>.\u00a0<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Puedes verificar si est\u00e1n instalados ejecutando los siguientes comandos en la terminal:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">node -v <br><br>npm -v <br><br># o, si prefieres yarn: <br><br>yarn -v <\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 1: Instalaci\u00f3n de la CLI de NestJS<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para simplificar el desarrollo, NestJS ofrece una CLI que facilita la creaci\u00f3n y administraci\u00f3n de proyectos. Para instalar la CLI, ejecuta el siguiente comando:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">npm install -g @nestjs\/cli <\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Esto instalar\u00e1&nbsp; CLI de NestJS de manera global en tu sistema.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 2: Crear un Nuevo Proyecto<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez instalada la CLI, puedes crear un nuevo proyecto de NestJS con el siguiente comando:\u00a0<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">nest new nombre-del-proyecto <\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">La CLI te pedir\u00e1 que elijas un gestor de paquetes (npm o yarn). Una vez seleccionado, generar\u00e1 la estructura b\u00e1sica del proyecto e instalar\u00e1 las dependencias necesarias.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 3: Arrancar la Aplicaci\u00f3n<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para iniciar la aplicaci\u00f3n, simplemente navega a la carpeta del proyecto y ejecuta:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">npm run start <br><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Por defecto, la aplicaci\u00f3n estar\u00e1 disponible en <a href=\"http:\/\/localhost:3000\/\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/localhost:3000<\/a>. Deber\u00edas ver un mensaje que dice <strong>\u00abHello World!\u00bb<\/strong> cuando accedes a la URL en tu navegador.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 4: Modo de Desarrollo (Hot Reloading)<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">NestJS soporta recarga en caliente, lo que significa que puedes ver los cambios en tiempo real mientras desarrollas. Para ejecutar el proyecto en modo de desarrollo, usa el siguiente comando:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">npm run start:dev <\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Con este modo activo, la aplicaci\u00f3n se recargar\u00e1 autom\u00e1ticamente cada vez que hagas cambios en el c\u00f3digo, acelerando el proceso de desarrollo.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. Exploraci\u00f3n de la Estructura del Proyecto en NestJS<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">NestJS organiza los proyectos de manera modular, lo que facilita dividir el c\u00f3digo en secciones independientes y reutilizables. Al crear un nuevo proyecto, NestJS genera una estructura b\u00e1sica que sirve como punto de partida para cualquier aplicaci\u00f3n. A continuaci\u00f3n, exploraremos los principales archivos y carpetas generados por defecto y su funci\u00f3n en la arquitectura de NestJS.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Estructura de Carpeta Predeterminada<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al ejecutar el comando<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">nest new nombre-del-proyecto<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">se crea una estructura de carpetas similar a la siguiente:\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-src=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Estructura-de-proyecto-1024x727.png\" data-srcset=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Estructura-de-proyecto-1024x727.png 1024w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Estructura-de-proyecto-300x213.png 300w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Estructura-de-proyecto-768x545.png 768w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Estructura-de-proyecto-18x12.png 18w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Estructura-de-proyecto-720x511.png 720w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Estructura-de-proyecto.png 1040w\" decoding=\"async\" width=\"1024\" height=\"727\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" alt=\"\" class=\"wp-image-7089 lazyload\"  sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><noscript><img decoding=\"async\" width=\"1024\" height=\"727\" src=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Estructura-de-proyecto-1024x727.png\" alt=\"\" class=\"wp-image-7089\" srcset=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Estructura-de-proyecto-1024x727.png 1024w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Estructura-de-proyecto-300x213.png 300w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Estructura-de-proyecto-768x545.png 768w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Estructura-de-proyecto-18x12.png 18w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Estructura-de-proyecto-720x511.png 720w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Estructura-de-proyecto.png 1040w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"><\/noscript><figcaption class=\"wp-element-caption\">Fuente: Jorge Mujica\u00a0<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Archivos Principales en el Proyecto<\/strong>&nbsp;<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>src\/app.controller.ts<\/strong>\u00a0<br>Este archivo contiene el controlador principal (AppController), que define los puntos de entrada para gestionar las solicitudes HTTP entrantes. Los controladores en NestJS son responsables de manejar rutas espec\u00edficas y de procesar las solicitudes que recibe la aplicaci\u00f3n, asignando las peticiones a los m\u00e9todos adecuados.\u00a0<\/li>\n<\/ol>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>src\/app.service.ts<\/strong>\u00a0<br>El archivo AppService es el servicio asociado al controlador principal y contiene la l\u00f3gica de negocio b\u00e1sica de la aplicaci\u00f3n. Los servicios en NestJS son responsables de realizar tareas espec\u00edficas o de gestionar el procesamiento de datos, proporcionando una capa de l\u00f3gica que puede ser utilizada por m\u00faltiples controladores.\u00a0<\/li>\n<\/ol>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>src\/app.module.ts<\/strong>\u00a0<br>Este es el m\u00f3dulo ra\u00edz (AppModule) de la aplicaci\u00f3n. NestJS organiza el c\u00f3digo en m\u00f3dulos para crear una estructura escalable y modular. El archivo app.module.ts importa y organiza los m\u00f3dulos, controladores y servicios utilizados en la aplicaci\u00f3n, proporcionando un punto central para gestionar la configuraci\u00f3n del m\u00f3dulo ra\u00edz.\u00a0<\/li>\n<\/ol>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li><strong>src\/main.ts<\/strong>\u00a0<br>Es el archivo de entrada de la aplicaci\u00f3n, donde se inicializa la instancia de la aplicaci\u00f3n NestJS. Aqu\u00ed se configura y arranca el servidor HTTP de la aplicaci\u00f3n. En main.ts, el c\u00f3digo est\u00e1ndar crea una instancia de la aplicaci\u00f3n y la ejecuta en un puerto determinado.\u00a0<br>\u00a0<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-src=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-1024x477.png\" data-srcset=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-1024x477.png 1024w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-300x140.png 300w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-768x358.png 768w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-18x8.png 18w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-720x336.png 720w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo.png 1064w\" decoding=\"async\" width=\"1024\" height=\"477\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" alt=\"\" class=\"wp-image-7090 lazyload\"  sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><noscript><img decoding=\"async\" width=\"1024\" height=\"477\" src=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-1024x477.png\" alt=\"\" class=\"wp-image-7090\" srcset=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-1024x477.png 1024w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-300x140.png 300w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-768x358.png 768w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-18x8.png 18w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-720x336.png 720w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo.png 1064w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"><\/noscript><figcaption class=\"wp-element-caption\">Fuente: Jorge Mujica\u00a0<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00bfC\u00f3mo se organizan los M\u00f3dulos, Controladores y Servicios en NestJS?<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">NestJS utiliza la <strong>arquitectura modular<\/strong> para organizar y dividir el c\u00f3digo en piezas reutilizables. A medida que una aplicaci\u00f3n crece, puedes organizarla en m\u00f3dulos adicionales (por ejemplo, UserModule, AuthModule, ProductModule, etc.), cada uno de los cuales contiene sus propios controladores y servicios.&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>M\u00f3dulos<\/strong>: Cada m\u00f3dulo agrupa funcionalidad relacionada, como controladores y servicios, y los hace accesibles al resto de la aplicaci\u00f3n.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Controladores<\/strong>: Manejan las solicitudes HTTP y definen las rutas que el servidor puede procesar.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Services<\/strong>: Contienen la l\u00f3gica de negocio de la aplicaci\u00f3n y se pueden reutilizar en m\u00faltiples controladores o m\u00f3dulos.\u00a0<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">La estructura modular y separada de NestJS hace que el c\u00f3digo sea m\u00e1s limpio y f\u00e1cil de mantener, permitiendo un escalado eficiente a medida que la aplicaci\u00f3n crece.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>4. Conceptos Clave en NestJS<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para entender y trabajar eficientemente en NestJS, es importante conocer los conceptos clave que estructuran su arquitectura y la manera en que se dise\u00f1an las aplicaciones en este framework.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>M\u00f3dulos<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los m\u00f3dulos son el n\u00facleo de la arquitectura de NestJS, permitiendo organizar el c\u00f3digo en unidades l\u00f3gicas que pueden reutilizarse y aislarse. Cada m\u00f3dulo encapsula su propio conjunto de servicios, controladores y proveedores, y estos m\u00f3dulos pueden importarse en otros m\u00f3dulos cuando sea necesario.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por ejemplo, podr\u00edas tener un m\u00f3dulo UserModule para manejar toda la funcionalidad relacionada con usuarios, y un AuthModule para la autenticaci\u00f3n.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img data-src=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-1-1024x477.png\" data-srcset=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-1-1024x477.png 1024w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-1-300x140.png 300w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-1-768x358.png 768w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-1-18x8.png 18w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-1-720x336.png 720w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-1.png 1064w\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"477\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" alt=\"\" class=\"wp-image-7091 lazyload\" style=\"width:842px;height:auto\"  sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><noscript><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"477\" src=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-1-1024x477.png\" alt=\"\" class=\"wp-image-7091\" style=\"width:842px;height:auto\" srcset=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-1-1024x477.png 1024w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-1-300x140.png 300w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-1-768x358.png 768w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-1-18x8.png 18w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-1-720x336.png 720w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-modulo-1.png 1064w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"><\/noscript><figcaption class=\"wp-element-caption\">Fuente: Jorge Mujica\u00a0<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Controladores\u00a0<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los controladores son responsables de recibir las solicitudes HTTP y devolver respuestas al cliente. En NestJS, los controladores definen rutas y se asocian con m\u00e9todos HTTP espec\u00edficos (GET, POST, PUT, DELETE, etc.).&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cada controlador est\u00e1 decorado con @Controller() y sus m\u00e9todos pueden ser decorados con @Get(), @Post(), @Put(), y @Delete() para definir rutas espec\u00edficas:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-src=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-controlador-1024x601.png\" data-srcset=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-controlador-1024x601.png 1024w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-controlador-300x176.png 300w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-controlador-768x451.png 768w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-controlador-18x12.png 18w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-controlador-720x423.png 720w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-controlador.png 1260w\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"601\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" alt=\"\" class=\"wp-image-7092 lazyload\"  sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><noscript><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"601\" src=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-controlador-1024x601.png\" alt=\"\" class=\"wp-image-7092\" srcset=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-controlador-1024x601.png 1024w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-controlador-300x176.png 300w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-controlador-768x451.png 768w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-controlador-18x12.png 18w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-controlador-720x423.png 720w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/ejemplo-de-codigo-controlador.png 1260w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"><\/noscript><figcaption class=\"wp-element-caption\">Fuente: Jorge Mujica\u00a0<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Services<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los servicios en NestJS contienen la l\u00f3gica de negocio y son reutilizables en los controladores o en otros servicios. Los servicios permiten implementar l\u00f3gica compleja sin sobrecargar los controladores, manteniendo el c\u00f3digo modular y f\u00e1cil de probar.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los servicios se definen con @Injectable() para que puedan ser inyectados en los controladores usando la <strong>inyecci\u00f3n de dependencias<\/strong>.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-src=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Ejemplo-de-codigo-Servicio.png\" data-srcset=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Ejemplo-de-codigo-Servicio.png 978w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Ejemplo-de-codigo-Servicio-300x238.png 300w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Ejemplo-de-codigo-Servicio-768x609.png 768w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Ejemplo-de-codigo-Servicio-15x12.png 15w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Ejemplo-de-codigo-Servicio-720x571.png 720w\" loading=\"lazy\" decoding=\"async\" width=\"978\" height=\"776\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" alt=\"\" class=\"wp-image-7093 lazyload\"  sizes=\"(max-width: 978px) 100vw, 978px\" \/><noscript><img loading=\"lazy\" decoding=\"async\" width=\"978\" height=\"776\" src=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Ejemplo-de-codigo-Servicio.png\" alt=\"\" class=\"wp-image-7093\" srcset=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Ejemplo-de-codigo-Servicio.png 978w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Ejemplo-de-codigo-Servicio-300x238.png 300w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Ejemplo-de-codigo-Servicio-768x609.png 768w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Ejemplo-de-codigo-Servicio-15x12.png 15w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Ejemplo-de-codigo-Servicio-720x571.png 720w\" sizes=\"(max-width: 978px) 100vw, 978px\"><\/noscript><figcaption class=\"wp-element-caption\">Fuente: Jorge Mujica\u00a0<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Decoradores<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">NestJS utiliza decoradores para definir la estructura de una aplicaci\u00f3n. Algunos decoradores clave incluyen:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>@Controller()<\/strong>: Define una clase como controlador de un conjunto de rutas.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>@Get(), @Post(), @Put(), @Delete()<\/strong>: Asocian m\u00e9todos del controlador con rutas HTTP espec\u00edficas.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>@Injectable()<\/strong>: Marca una clase como un proveedor que puede ser inyectado en otros controladores o servicios.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>@Module()<\/strong>: Define una clase como un m\u00f3dulo.\u00a0<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Inyecci\u00f3n de Dependencias<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La inyecci\u00f3n de dependencias permite instanciar clases y gestionarlas sin necesidad de instanciarlas manualmente. En NestJS, los servicios y proveedores pueden ser inyectados autom\u00e1ticamente en controladores o en otros servicios, lo que facilita la modularidad y el testeo.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por ejemplo, al agregar UserService en el controlador UserController, NestJS se encarga de inyectar autom\u00e1ticamente el servicio sin que tengas que hacerlo manualmente:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-src=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Captura-de-pantalla-2024-11-18-a-las-12.25.21\u202fp.-m-1024x734.png\" data-srcset=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Captura-de-pantalla-2024-11-18-a-las-12.25.21\u202fp.-m-1024x734.png 1024w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Captura-de-pantalla-2024-11-18-a-las-12.25.21\u202fp.-m-300x215.png 300w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Captura-de-pantalla-2024-11-18-a-las-12.25.21\u202fp.-m-768x550.png 768w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Captura-de-pantalla-2024-11-18-a-las-12.25.21\u202fp.-m-18x12.png 18w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Captura-de-pantalla-2024-11-18-a-las-12.25.21\u202fp.-m-720x516.png 720w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Captura-de-pantalla-2024-11-18-a-las-12.25.21\u202fp.-m.png 1158w\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"734\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" alt=\"\" class=\"wp-image-7094 lazyload\"  sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><noscript><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"734\" src=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Captura-de-pantalla-2024-11-18-a-las-12.25.21\u202fp.-m-1024x734.png\" alt=\"\" class=\"wp-image-7094\" srcset=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Captura-de-pantalla-2024-11-18-a-las-12.25.21\u202fp.-m-1024x734.png 1024w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Captura-de-pantalla-2024-11-18-a-las-12.25.21\u202fp.-m-300x215.png 300w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Captura-de-pantalla-2024-11-18-a-las-12.25.21\u202fp.-m-768x550.png 768w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Captura-de-pantalla-2024-11-18-a-las-12.25.21\u202fp.-m-18x12.png 18w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Captura-de-pantalla-2024-11-18-a-las-12.25.21\u202fp.-m-720x516.png 720w, https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/Captura-de-pantalla-2024-11-18-a-las-12.25.21\u202fp.-m.png 1158w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"><\/noscript><figcaption class=\"wp-element-caption\">Fuente: Jorge Mujica\u00a0<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Esta organizaci\u00f3n basada en m\u00f3dulos, controladores, servicios y la inyecci\u00f3n de dependencias facilita el desarrollo de aplicaciones escalables y de f\u00e1cil mantenimiento en NestJS.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>5. Recursos Adicionales y Comunidad<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aprender y dominar NestJS es m\u00e1s f\u00e1cil con el apoyo de recursos adicionales y una comunidad activa que brinda soporte, ideas y nuevas herramientas para mejorar tu experiencia de desarrollo. La comunidad de NestJS ha crecido r\u00e1pidamente, y existen m\u00faltiples recursos, como documentaci\u00f3n oficial, foros, y canales de comunicaci\u00f3n, que pueden ayudarte a resolver dudas y estar al tanto de las novedades del framework.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Documentaci\u00f3n Oficial y Tutoriales<\/strong>&nbsp;<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Documentaci\u00f3n Oficial de NestJS<\/strong>\u00a0<br>La documentaci\u00f3n oficial de NestJS es completa y bien estructurada. Cubre desde los conceptos b\u00e1sicos hasta caracter\u00edsticas avanzadas, y cada secci\u00f3n incluye ejemplos claros de c\u00f3digo que ilustran c\u00f3mo aplicar los conceptos en proyectos reales. Es un recurso esencial para entender a fondo la arquitectura de NestJS y sus m\u00f3dulos, as\u00ed como las mejores pr\u00e1cticas.\u00a0<\/li>\n<\/ol>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><a href=\"https:\/\/docs.nestjs.com\/first-steps\" target=\"_blank\" rel=\"noreferrer noopener\">Documentaci\u00f3n Oficial de NestJS<\/a>\u00a0<\/li>\n<\/ol>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>Tutoriales y Ejemplos en GitHub<\/strong>\u00a0<br>NestJS tiene un repositorio oficial en GitHub con ejemplos y aplicaciones de referencia. Estos ejemplos ofrecen una excelente oportunidad para ver c\u00f3mo se implementan diferentes m\u00f3dulos y funcionalidades en proyectos reales. Adem\u00e1s, la comunidad ha creado numerosos tutoriales en l\u00ednea, desde la creaci\u00f3n de una API RESTful b\u00e1sica hasta la integraci\u00f3n de funcionalidades m\u00e1s avanzadas como la autenticaci\u00f3n, autorizaci\u00f3n y el uso de WebSockets.\u00a0<\/li>\n<\/ol>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/nestjs\/nest\/tree\/master\/sample\" target=\"_blank\" rel=\"noreferrer noopener\">NestJS GitHub<\/a>\u00a0<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Conclusi\u00f3n<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">NestJS es un framework poderoso que combina lo mejor de TypeScript con una arquitectura s\u00f3lida y modular, inspirada en conceptos de backend comprobados como la inyecci\u00f3n de dependencias y el uso de controladores, servicios y m\u00f3dulos. Para los principiantes, NestJS ofrece una estructura clara y herramientas que simplifican el desarrollo de aplicaciones escalables y mantenibles, haciendo que la curva de aprendizaje valga la pena.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Comenzando con la comprensi\u00f3n de su estructura b\u00e1sica y los conceptos esenciales, los desarrolladores pueden construir aplicaciones organizadas y preparadas para crecimiento. Al dominar estos primeros pasos y conceptos clave, tendr\u00e1s una base s\u00f3lida para crear aplicaciones m\u00e1s complejas y adaptadas a tus necesidades.&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>1. Introducci\u00f3n a NestJS\u00a0 NestJS es un framework progresivo de Node.js creado para construir aplicaciones backend eficientes y escalables. Inspirado en Angular, este framework utiliza TypeScript como su lenguaje principal y aprovecha su sistema de tipos y orientaci\u00f3n a objetos para proporcionar una estructura clara y modular.\u00a0 \u00bfPor qu\u00e9 elegir NestJS?\u00a0 NestJS se destaca por [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":7095,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[115,3,5],"tags":[],"class_list":["post-7086","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-code","category-development","category-technology"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>NestJS para Principiantes: Primeros Pasos y Conceptos Clave - PulpoLine<\/title>\n<meta name=\"description\" content=\"1. Introducci\u00f3n a NestJS\u00a0 NestJS es un framework progresivo de Node.js creado para construir aplicaciones backend eficientes y escalables. Inspirado en\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/pulpoline.com\/en\/2024\/11\/18\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"NestJS para Principiantes: Primeros Pasos y Conceptos Clave - PulpoLine\" \/>\n<meta property=\"og:description\" content=\"1. Introducci\u00f3n a NestJS\u00a0 NestJS es un framework progresivo de Node.js creado para construir aplicaciones backend eficientes y escalables. Inspirado en\" \/>\n<meta property=\"og:url\" content=\"https:\/\/pulpoline.com\/en\/2024\/11\/18\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\/\" \/>\n<meta property=\"og:site_name\" content=\"PulpoLine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/pulpoline\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-18T18:33:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-18T18:33:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/NestJS-para-Principiantes_-Primeros-Pasos-y-Conceptos-Clave.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1450\" \/>\n\t<meta property=\"og:image:height\" content=\"753\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Hillary Amanda Quir\u00f3s Chavarr\u00eda\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/pulpoline.com\\\/2024\\\/11\\\/18\\\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pulpoline.com\\\/2024\\\/11\\\/18\\\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\\\/\"},\"author\":{\"name\":\"Hillary Amanda Quir\u00f3s Chavarr\u00eda\",\"@id\":\"https:\\\/\\\/pulpoline.com\\\/#\\\/schema\\\/person\\\/26d887f6a6655dae9a8e52598002dea6\"},\"headline\":\"NestJS para Principiantes: Primeros Pasos y Conceptos Clave\",\"datePublished\":\"2024-11-18T18:33:16+00:00\",\"dateModified\":\"2024-11-18T18:33:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/pulpoline.com\\\/2024\\\/11\\\/18\\\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\\\/\"},\"wordCount\":1908,\"publisher\":{\"@id\":\"https:\\\/\\\/pulpoline.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/pulpoline.com\\\/2024\\\/11\\\/18\\\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/pulpoline.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/NestJS-para-Principiantes_-Primeros-Pasos-y-Conceptos-Clave.png\",\"articleSection\":[\"Code\",\"Development\",\"Technology\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/pulpoline.com\\\/2024\\\/11\\\/18\\\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\\\/\",\"url\":\"https:\\\/\\\/pulpoline.com\\\/2024\\\/11\\\/18\\\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\\\/\",\"name\":\"NestJS para Principiantes: Primeros Pasos y Conceptos Clave - PulpoLine\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pulpoline.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/pulpoline.com\\\/2024\\\/11\\\/18\\\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/pulpoline.com\\\/2024\\\/11\\\/18\\\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/pulpoline.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/NestJS-para-Principiantes_-Primeros-Pasos-y-Conceptos-Clave.png\",\"datePublished\":\"2024-11-18T18:33:16+00:00\",\"dateModified\":\"2024-11-18T18:33:21+00:00\",\"description\":\"1. Introducci\u00f3n a NestJS\u00a0 NestJS es un framework progresivo de Node.js creado para construir aplicaciones backend eficientes y escalables. Inspirado en\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/pulpoline.com\\\/2024\\\/11\\\/18\\\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/pulpoline.com\\\/2024\\\/11\\\/18\\\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/pulpoline.com\\\/2024\\\/11\\\/18\\\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\\\/#primaryimage\",\"url\":\"https:\\\/\\\/pulpoline.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/NestJS-para-Principiantes_-Primeros-Pasos-y-Conceptos-Clave.png\",\"contentUrl\":\"https:\\\/\\\/pulpoline.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/NestJS-para-Principiantes_-Primeros-Pasos-y-Conceptos-Clave.png\",\"width\":1450,\"height\":753},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/pulpoline.com\\\/2024\\\/11\\\/18\\\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/pulpoline.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"NestJS para Principiantes: Primeros Pasos y Conceptos Clave\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/pulpoline.com\\\/#website\",\"url\":\"https:\\\/\\\/pulpoline.com\\\/\",\"name\":\"PulpoLine\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/pulpoline.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/pulpoline.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/pulpoline.com\\\/#organization\",\"name\":\"PulpoLine\",\"url\":\"https:\\\/\\\/pulpoline.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/pulpoline.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/pulpoline.com\\\/wp-content\\\/uploads\\\/2021\\\/10\\\/Logo-PulpoLine-fondo-blanco-04.jpg\",\"contentUrl\":\"https:\\\/\\\/pulpoline.com\\\/wp-content\\\/uploads\\\/2021\\\/10\\\/Logo-PulpoLine-fondo-blanco-04.jpg\",\"width\":990,\"height\":925,\"caption\":\"PulpoLine\"},\"image\":{\"@id\":\"https:\\\/\\\/pulpoline.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/pulpoline\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/pulpoline.com\\\/#\\\/schema\\\/person\\\/26d887f6a6655dae9a8e52598002dea6\",\"name\":\"Hillary Amanda Quir\u00f3s Chavarr\u00eda\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/34ff8ec2488914a9254cbb658fb2e0549999bcddc40a182383935db50d09f181?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/34ff8ec2488914a9254cbb658fb2e0549999bcddc40a182383935db50d09f181?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/34ff8ec2488914a9254cbb658fb2e0549999bcddc40a182383935db50d09f181?s=96&d=mm&r=g\",\"caption\":\"Hillary Amanda Quir\u00f3s Chavarr\u00eda\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"NestJS para Principiantes: Primeros Pasos y Conceptos Clave - PulpoLine","description":"1. Introducci\u00f3n a NestJS\u00a0 NestJS es un framework progresivo de Node.js creado para construir aplicaciones backend eficientes y escalables. Inspirado en","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/pulpoline.com\/en\/2024\/11\/18\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\/","og_locale":"en_US","og_type":"article","og_title":"NestJS para Principiantes: Primeros Pasos y Conceptos Clave - PulpoLine","og_description":"1. Introducci\u00f3n a NestJS\u00a0 NestJS es un framework progresivo de Node.js creado para construir aplicaciones backend eficientes y escalables. Inspirado en","og_url":"https:\/\/pulpoline.com\/en\/2024\/11\/18\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\/","og_site_name":"PulpoLine","article_publisher":"https:\/\/www.facebook.com\/pulpoline","article_published_time":"2024-11-18T18:33:16+00:00","article_modified_time":"2024-11-18T18:33:21+00:00","og_image":[{"width":1450,"height":753,"url":"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/NestJS-para-Principiantes_-Primeros-Pasos-y-Conceptos-Clave.png","type":"image\/png"}],"author":"Hillary Amanda Quir\u00f3s Chavarr\u00eda","twitter_card":"summary_large_image","twitter_misc":{"Written by":false,"Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/pulpoline.com\/2024\/11\/18\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\/#article","isPartOf":{"@id":"https:\/\/pulpoline.com\/2024\/11\/18\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\/"},"author":{"name":"Hillary Amanda Quir\u00f3s Chavarr\u00eda","@id":"https:\/\/pulpoline.com\/#\/schema\/person\/26d887f6a6655dae9a8e52598002dea6"},"headline":"NestJS para Principiantes: Primeros Pasos y Conceptos Clave","datePublished":"2024-11-18T18:33:16+00:00","dateModified":"2024-11-18T18:33:21+00:00","mainEntityOfPage":{"@id":"https:\/\/pulpoline.com\/2024\/11\/18\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\/"},"wordCount":1908,"publisher":{"@id":"https:\/\/pulpoline.com\/#organization"},"image":{"@id":"https:\/\/pulpoline.com\/2024\/11\/18\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\/#primaryimage"},"thumbnailUrl":"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/NestJS-para-Principiantes_-Primeros-Pasos-y-Conceptos-Clave.png","articleSection":["Code","Development","Technology"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/pulpoline.com\/2024\/11\/18\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\/","url":"https:\/\/pulpoline.com\/2024\/11\/18\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\/","name":"NestJS para Principiantes: Primeros Pasos y Conceptos Clave - PulpoLine","isPartOf":{"@id":"https:\/\/pulpoline.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/pulpoline.com\/2024\/11\/18\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\/#primaryimage"},"image":{"@id":"https:\/\/pulpoline.com\/2024\/11\/18\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\/#primaryimage"},"thumbnailUrl":"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/NestJS-para-Principiantes_-Primeros-Pasos-y-Conceptos-Clave.png","datePublished":"2024-11-18T18:33:16+00:00","dateModified":"2024-11-18T18:33:21+00:00","description":"1. Introducci\u00f3n a NestJS\u00a0 NestJS es un framework progresivo de Node.js creado para construir aplicaciones backend eficientes y escalables. Inspirado en","breadcrumb":{"@id":"https:\/\/pulpoline.com\/2024\/11\/18\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/pulpoline.com\/2024\/11\/18\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/pulpoline.com\/2024\/11\/18\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\/#primaryimage","url":"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/NestJS-para-Principiantes_-Primeros-Pasos-y-Conceptos-Clave.png","contentUrl":"https:\/\/pulpoline.com\/wp-content\/uploads\/2024\/11\/NestJS-para-Principiantes_-Primeros-Pasos-y-Conceptos-Clave.png","width":1450,"height":753},{"@type":"BreadcrumbList","@id":"https:\/\/pulpoline.com\/2024\/11\/18\/nestjs-para-principiantes-primeros-pasos-y-conceptos-clave\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/pulpoline.com\/"},{"@type":"ListItem","position":2,"name":"NestJS para Principiantes: Primeros Pasos y Conceptos Clave"}]},{"@type":"WebSite","@id":"https:\/\/pulpoline.com\/#website","url":"https:\/\/pulpoline.com\/","name":"PulpoLine","description":"","publisher":{"@id":"https:\/\/pulpoline.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/pulpoline.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/pulpoline.com\/#organization","name":"PulpoLine","url":"https:\/\/pulpoline.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/pulpoline.com\/#\/schema\/logo\/image\/","url":"https:\/\/pulpoline.com\/wp-content\/uploads\/2021\/10\/Logo-PulpoLine-fondo-blanco-04.jpg","contentUrl":"https:\/\/pulpoline.com\/wp-content\/uploads\/2021\/10\/Logo-PulpoLine-fondo-blanco-04.jpg","width":990,"height":925,"caption":"PulpoLine"},"image":{"@id":"https:\/\/pulpoline.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/pulpoline"]},{"@type":"Person","@id":"https:\/\/pulpoline.com\/#\/schema\/person\/26d887f6a6655dae9a8e52598002dea6","name":"Hillary Amanda Quir\u00f3s Chavarr\u00eda","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/34ff8ec2488914a9254cbb658fb2e0549999bcddc40a182383935db50d09f181?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/34ff8ec2488914a9254cbb658fb2e0549999bcddc40a182383935db50d09f181?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/34ff8ec2488914a9254cbb658fb2e0549999bcddc40a182383935db50d09f181?s=96&d=mm&r=g","caption":"Hillary Amanda Quir\u00f3s Chavarr\u00eda"}}]}},"_links":{"self":[{"href":"https:\/\/pulpoline.com\/en\/wp-json\/wp\/v2\/posts\/7086","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pulpoline.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pulpoline.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pulpoline.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/pulpoline.com\/en\/wp-json\/wp\/v2\/comments?post=7086"}],"version-history":[{"count":1,"href":"https:\/\/pulpoline.com\/en\/wp-json\/wp\/v2\/posts\/7086\/revisions"}],"predecessor-version":[{"id":7096,"href":"https:\/\/pulpoline.com\/en\/wp-json\/wp\/v2\/posts\/7086\/revisions\/7096"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pulpoline.com\/en\/wp-json\/wp\/v2\/media\/7095"}],"wp:attachment":[{"href":"https:\/\/pulpoline.com\/en\/wp-json\/wp\/v2\/media?parent=7086"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pulpoline.com\/en\/wp-json\/wp\/v2\/categories?post=7086"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pulpoline.com\/en\/wp-json\/wp\/v2\/tags?post=7086"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}