> Faqs > ¿Qué pasará con Vite al llevar a producción en un hosting contratado para un proyecto Laravel?

¿Qué pasará con Vite al llevar a producción en un hosting contratado para un proyecto Laravel?

Yo no programo con Laravel pero estuve mirandolo cuando su versión 5.8, y probé algunas cositas en el servidor de desarrollo que levanta con php artisan serve en localhost:8000.

Ahora me dio por revisar sus versiones más recientes y además del localhost:8000, requiere que en otra consola levante otro servicio con npm run dev, en el puerto 5173, para que levante Vite.

¿Esto es así o hay otro modo de configurarlo?

Nunca he montado un sitio en producción. En el caso de que alquilara un hosting ¿como seria esto?

Respuestas

Para llevar a producción un proyecto que se ha desarrollado con Vite, lo mejor es instalar las dependencias en el servidor remoto, tal como están definidas y bloqueadas en el package-lock.json, y luego hacer el build en remoto.

Eso lo consigues con estos dos comandos de terminal, que tienes que ejecutar en tu servidor remoto.

npm ci
npm run build

Así puedes crear un flujo de trabajo con un script que permita instalar las nuevas dependencias de npm en el proyecto en remoto y luego la generación de los archivos js ya producidos, también en remoto.

Sería el modo de trabajo, al menos en proyectos avanzados, donde tienes integración continua y despliegue continuo.

Victor
247 7 17 10

El servidor que se levanta con Vite es apenas para compilar los assets, principalmente el Javascript y el CSS, en la etapa de desarrollo.

Cuando llevas a producción un proyecto no hace falta tener Vite funcionando, así que no debes de preocuparte porque tengas que contratar algo especial que te permita correr un servicio distinto al normal de PHP.

Durante la etapa de desarrollo podrías no usar Vite. Podrías usar Webpack con Laravel Mix, por ejemplo, pero también requiere que tengas un servicio similar para la compilación del código Javascript / CSS y para conseguir cosas como el live-reloading que mejoran la experiencia de desarrollo.

Podrías no compilar el Javascript o el CSS si realmente no tienes necesidad, porque tu proyecto sea especialmente sencillo, pero eso no es algo muy frecuente, ya que al final los proyectos lo demandan, ya sea porque uses un framework CSS como TailWind CSS o quieras usar bibliotecas de Javascript como React, Vue, o sistemas fullstack como Livewire. Todos acabamos usando algunas herramientas de desarrollo que nos llevan a la necesidad de compilar el código del frontend, para lo que en Laravel se usa Vite actualmente.

Cómo se lleva a producción el código que depende de Vite

Al llevar a producción lo que tienes es que correr un comando npm run build que te genera los archivos que en producción, archivos planos que no requieren ningún servicio de compilación, porque están ya compilados.

Por ello, alojar una web en un hosting tradicional no sería un inconveniente por ese motivo. En otras palabras, Vite no te afecta en absoluto.

Lo que sí es importante es Composer para llevar a producción

Lo que sí vas a requerir en el servicio de hosting es usar Composer. Composer sirve para instalar las dependencias PHP del proyecto, es decir, el propio Laravel y todo lo que Laravel a su vez usa de librerías PHP.

Esa parte sí es importante y no todos los alojamientos compartidos permiten usar Composer. Sería bueno que antes de contratarlo te informes si eso sería posible, para no llevarte sorpresas. Por lo del Javascript y el CSS o Vite no necesitas preocuparte, como te digo.

Miguel Angel
3115 139 207 17