- 1

Programación Modular y Deployment en Nest GS
02:33 - 2

Encapsulación de Lógica en Módulos con NestJS
10:53 - 3

Programación Modular en NestJS: Controladores y Entidades
04:04 - 4

Interacción entre Módulos en NestJS: Servicios y Controladores
10:55 - 5

Inyección de Dependencias en Arquitectura de Software
05:48 - 6

Tipos de Providers en NestJS: Use Class y Use Value
07:56 - 7

useFactory
09:10 - 8

Uso de Módulos Globales en NestJS para Inyecciones Compartidas
08:03
Deployment de Aplicaciones Node.js en Heroku
Clase 15 de 17 • Curso de NestJS: Programación Modular, Documentación con Swagger y Deploy
Contenido del curso
Llega el momento del despliegue de tu aplicación en un entorno productivo. Utilizaremos Heroku, uno de los proveedores de servidores Cloud más utilizado y fácil de utilizar de la industria.
Configuración del proyecto al usar Heroku
Preparar tu aplicación para Heroku requiere de algunas configuraciones sencillas.
Configuración de puerto y CORS
Heroku, por defecto, usa una variable de entorno llamada PORT para levantar la aplicación en un puerto aleatorio. Asegúrate de configurar esta variable dinámica en el bootstrap de tu app, además de activar CORS para no tener problemas con el mismo. Agrega las configuraciones en el archivo main.ts.
// main.ts
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
app.enableCors();
await app.listen(process.env.PORT || 3000);
}
bootstrap();
Configuración versión de NodeJS
Edita el archivo package.json para especificar la versión de NodeJS que tu aplicación necesita con la siguiente configuración:
"engines": {
"node": "14.x"
},
Configuración de Heroku
Heroku requiere de un pequeño archivo adicional en la raíz de tu proyecto llamado Procfile que contiene el comando que da inicio a tu proyecto:
web: npm run start:prod
Además, Heroku posee su propio CLI que nos ayudará en el despliegue de cualquier aplicación. Instálalo dependiendo tu sistema operativo para estar listo para el despliegue de tu app.
Contribución creada por: Kevin Fiorentino.