Un poco de una pregunta n00b: creé un proyecto con vue-cli usando webpack. En mi máquina con Windows, ejecuto "npm un dev" y obtengo un servidor frontend con HMR, etc. Ahora quiero implementar mi aplicación en una máquina de producción: ubuntu en DigitalOcean.
¿Cuáles son los pasos que debo seguir? No estoy muy familiarizado con la lógica de cómo se supone que funciona. Si mi máquina ubuntu tiene NODE_ENV configurado en producción, no instalará ninguna de las dependencias de desarrollo y no puedo construir nada. Entonces, ¿supongo que tendré que cambiar eso? Si es así, entonces no tiene ningún sentido ya que es una máquina de producción.
¿Y tengo que crear otro nodo/servidor rápido para servir index.html? ¿No se supone que funcionará fuera de la caja de alguna manera?
Gracias :)
TL; DR Cree en su máquina local y todo lo que necesita se generará en el directorio ./dist/ , simplemente copie el contenido en webroot en su servidor de producción y estará listo para comenzar.
La plantilla del paquete web maneja la mayoría de las cosas por usted.
Paso que debe tomar para liberar:
npm run build en su máquina local./dist/ generado en su servidor webroot Cuando ejecuta npm run build , el script de compilación preconfigurado establece el entorno del nodo en producción y compila solo con las cosas que deberían estar en producción, también optimiza el código y elimina las capacidades de depuración. Cuando se trata de dependencias, webpack se ocupa de eso y las incluye en los archivos javascript generados ubicados en ./dist/js/ , por lo que tampoco debe preocuparse por copiar el directorio node_modules/ . También copia todo en su directorio static y el directorio src/assets en el directorio ./dist/ para estar preparado para un lanzamiento. Y resuelve todas las referencias a la nueva ruta generada por webpack.
El servidor de producción no debe preocuparse por compilar la aplicación vue, ejecute el comando de compilación en su máquina local para mantener las dependencias de desarrollo alejadas de su servidor de producción. Recomiendo no instalar webpack y otras herramientas de desarrollo en su servidor de producción. Simplemente contamina el servidor con cosas que no se necesitan allí. Algunas herramientas de desarrollo podrían generar muchos problemas en los servidores de producción. Así que la mejor práctica es nunca instalarlos.
Opcionalmente, puede crear su propio script de lanzamiento que use ftp o rsync, lo que prefiera para copiar todo en el directorio ./dist/ al servidor de producción webroot. Esto podría ser un script en bash, si está en Windows, ejecútelo en git bash o algo similar, por ejemplo.
Espero haber aclarado las cosas, ¡felicidades por tu primer lanzamiento de vue!