Hay muchos cursos en Platzi que tienen uno o dos videitos de Heroku, todos muy parecidos. Vendría bien un curso más completo de este PaaS que es muy utilizado.
Módulos de NestJS
¿Ya tomaste el Curso de Backend con NestJS?
Overview del proyecto: PlatziStore
Encapsular lógica en módulos
Interacción entre módulos
Entendiendo la inyección de dependencias
useValue y useClass
useFactory
Global Module
Configuración de entornos
Módulo de configuración
Configuración por ambientes
Tipado en config
Validación de esquemas en .envs con Joi
Documentación
Integrando Swagger y PartialType con Open API
Extendiendo la documentación
Deploy
Configuración de Heroku
Deploy de NestJS en Heroku
Próximos pasos
Continúa con los cursos de persistencia de datos en NestJS
Aún no tienes acceso a esta clase
Crea una cuenta y continúa viendo este curso
// src/main.ts
async function bootstrap() {
...
app.enableCors();
await app.listen(process.env.PORT || 3000);
}
bootstrap();
# package.json
{
"engines": {
"node": "14.x"
}
}
// Procfile
web: npm run start:prod
Download and install The Heroku CLI
curl https://cli-assets.heroku.com/install.sh | sh
Then run inside your proyect
heroku login
heroku create
git remote -v
heroku local web
// .env
DATABASE_NAME=my_db_prod
API_KEY=999
DATABASE_PORT=8091
PORT=3000 // 👈
// .stag.env
DATABASE_NAME=my_db_stag
API_KEY=333
DATABASE_PORT=8091
PORT=3000 // 👈
// .prod.env
DATABASE_NAME=my_db_prod
API_KEY=999
DATABASE_PORT=8091
PORT=3000 // 👈
Aportes 4
Preguntas 3
Hay muchos cursos en Platzi que tienen uno o dos videitos de Heroku, todos muy parecidos. Vendría bien un curso más completo de este PaaS que es muy utilizado.
En mi caso, me daba un error porque no se conseguía el archivo main dentro del directorio dist, aun luego de la compilación, lo que hice fue editar en el archivo package.json en la sección de start:prod, coloqué:
node dist/src/main
Para deployar en heroku tenemos que crear el archivo Procfile
que va a contener el comando de inicio de nuestra aplicacion que va a ejecutar heroku por nosotros:
web: npm run start:prod
Setear el puerto en una variable de entorno cuando levanta la aplicacion. Esto se hace en el main.ts
app.enableCors(); // hab ilitar cors para consumir desde cualquier punto. OjO con esto!!!
await app.listen(process.env.PORT || 3000);
heroku login
, esto abre el browser y nos logueamosheroku create
output:
Creating app... done, ⬢ <nombre-numero>
https://<nombre-numero>.herokuapp.com/ | https://git.heroku.com/<nombre-numero>.git
heroku local web
👏
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.