Desplegar una app Express
Puedes encontrar la guía de despliegue paso a paso aquí.
Compilación de la aplicación Copiar enlace
Hostman utiliza el siguiente entorno al compilar una aplicación Express:
- Node.js: 16, 18, 20, or 22
- npm
- yarn
- PM2 (última versión)
La aplicación siempre se compila desde la raíz del repositorio, por lo que asegúrate de colocar el archivo package.json allí. Si el archivo está en un subdirectorio (por ejemplo, landing), debes ajustar el comando de compilación. Por ejemplo:
npm run --prefix landing buildHostman ejecutará los siguientes comandos durante la compilación:
apt install -y nodejs --fix-missing
npm install pm2@latest -g
npm install express
Si el proyecto incluye un archivo package.json y utiliza yarn, también ejecutaremos:
apt-get remove -y cmdtest yarn
npm install --global yarn
cd /<DIRECTORY> && yarn install --check-filesEn todos los demás casos, si hay un archivo package.json presente:
cd /<DIRECTORY> && npm install<DIRECTORY> es la ruta al directorio con package.json. En la mayoría de los casos, es la raíz del proyecto.
La aplicación se ejecuta utilizando el gestor de procesos PM2. El comando de inicio predeterminado es:
pm2 start --no-daemon app.jsEl archivo de inicialización de la aplicación (app.js en el ejemplo anterior) puede llamarse app.js, server.js, main.js o index.js.
Solución de problemas Copiar enlace
El despliegue falla Copiar enlace
Si hay problemas con el despliegue, primero revisa el registro de despliegue. Podrás determinar en qué punto algo salió mal.
A menudo los problemas están relacionados con el comando de inicio. Verifica que todo en tu entorno de desarrollo funcione con pm2. Asegúrate de que todos los módulos necesarios para ejecutar la aplicación estén presentes en el archivo package.json.
Please add build instructions to your script section in package.json Copiar enlace
El problema es que el comando yarn build accede al archivo package.json, y si el valor de la directiva build no está especificado, se produce un error.
Para solucionarlo, debes añadir las directivas necesarias a la sección scripts del archivo package.json. Lee más sobre el uso de scripts aquí.