Publica tu app de Angular 4 con confianza: en pocos pasos, pasando de desarrollo a producción, con minificación, carpeta dist optimizada y despliegue directo a Firebase Hosting. Aquí verás los comandos esenciales y decisiones clave para evitar errores comunes como el 404 en single page applications.
¿Cómo preparar Angular 4 para producción?
Para pasar de un entorno de desarrollo a producción, genera una versión optimizada. ng build agrupa y minifica los archivos, creando la carpeta dist con lo mínimo necesario, incluyendo index.html. Esto mejora el rendimiento frente a la gran cantidad de archivos de node_modules que usas en desarrollo.
Entorno de desarrollo vs producción: desarrollo muestra errores detallados y recarga automática; producción minimiza y agrupa archivos.
Minificación: JavaScript se junta en un solo archivo para cargar más rápido en el browser.
Salida optimizada: la carpeta dist contiene lo necesario para servir la app, siendo index.html el punto de entrada.
Comando clave:
ng build
Habilidades puestas en práctica:
Optimización de build: reducción de tamaño y mejora de carga.
Estructura de proyecto: entender la diferencia entre node_modules y dist.
¿Cómo configurar Firebase Hosting desde la terminal?
Con Firebase ya configurado, instala su CLI, autentica tu cuenta y prepara el proyecto para hosting. Acepta la recolección de datos si se solicita; si no se abre el browser, usa la URL que muestra la terminal.
¿Qué instalar con NPM para Firebase Hosting?
Instalar herramientas de Firebase con NPM.
Considerar permisos: a veces se usa sudo para instalar.
Autenticarse en la cuenta de Google con firebase login.
Comandos:
npm install -g firebase-tools
firebase login
Puntos clave:
Instalación global: herramientas disponibles en cualquier carpeta del proyecto.
Login exitoso: la terminal confirma con “success”.
¿Cómo inicializar el proyecto con firebase init?
Ejecutar firebase init y seleccionar Hosting.
Elegir el proyecto correcto (por ejemplo, platzi.squared).
Definir el directorio público: escribir dist.
Configurar como single page application: responder “sí” para redirigir todo a index.html y evitar 404 tras un refresh fuera del home.
No sobrescribir index.html existente.
Comando:
firebase init
Conceptos importantes:
Single page application: reescritura de rutas hacia index.html para que el hosting entienda la navegación del cliente.
Directorio público: dist contiene los archivos servibles de producción.
¿Cómo hacer el deploy y validar la URL pública?
Con la configuración lista, sube los archivos a Firebase Hosting. La consola mostrará el progreso y, al finalizar, verás la URL pública para compartir y probar en cualquier browser.
¿Qué hace firebase deploy en el hosting?
Sube la salida de dist al hosting de Firebase.
Aplica la configuración creada con firebase init.
Muestra mensajes de fin de despliegue y la URL generada.
Comando:
firebase deploy
Resultados esperados:
URL pública: por ejemplo, platzi.squared.firebaseapp.com.
Registro en la consola: confirmación de subida y enlaces útiles.
¿Cómo comprobar que la app está online?
Ir al panel de Firebase y abrir la sección de Hosting.
Hacer clic en la URL desplegada y navegar la app.
Compartir la URL para pruebas o colaboración.
Buenas prácticas aplicadas:
Verificación post-deploy: revisar en Firebase console y en el browser.
Colaboración: compartir la URL para feedback o QA.
¿Tienes dudas sobre algún paso o comando? Escribe en los comentarios qué parte te gustaría profundizar y qué setup usas para tu deploy.
Resta un procedimiento sobre como una vez se ha desplegado la primer vez a Firebase, realizar cambios en Local, desplegar y probar en Local, y posteriormente desplegar a Firebase.
Hola buen día, al dar click en el enlace de la aplicación publicada muestra el siguiente mensaje:
Welcome
Firebase Hosting Setup Complete
You’re seeing this because you’ve successfully setup Firebase Hosting. Now it’s time to go build something extraordinary!
Pero no carga la aplicacoión, alguna idea de como resolverlo?
hola daviko5099 me paso lo mismo, debido a que al ejecutar el comando ng-build angular creo un subdirectorio dist/platziSquare donde compilo todos los archivos y no como al profe que se lo creo directamente en dist . Lo que hice es copiar el contenido de platziSqueare dentro de la carpeta dist y generar de vuelta firebase init.
Saludos
Quiero Compartir un inconveniente que se me presento
C:\xampp\htdocs\angular_4\platzisquare>firebase login
?AllowFirebase to collect anonymous CLI usage and error reporting information
?(Y/n) y
Error:An unexpected error has occurred.
por lo que me fui a la documentacion y pude solucionarlo al dar el siguiente comando
Si, lo unico que debes hacer es configurar el host para que todas las peticiones apunten al index, en estos servidores se suele usar apache de manera que debes hacer esta configuración en el archivo .htaccess
Y simplemente despues de correr ng build subes el contenido de tu carpeta /dist a la raiz del sitio
Puedes desplegar una aplicación hecha en angular en un hosting compartido sin ningún problema, ya que luego de hacer build obtienes archivos Javascript (que son los que subes al servidor) y estos terminan corriendo en el navegador cuando accedes a la pagina. Lo único que no puedes hacer es utilizar cosas como Angular Universal para hacer SSR.
Hola! he depurado mi proyecto del Curso en Firebase:
URL del proyecto Angular 4
Para quienes estén teniendo problemas al ejecutar sus entornos locales DESPUÉS de haber desplegado con normalidad en Firebase, o simplemente tienen problemas con despliegues posteriores tras haber realizado cambios, estén atentos.
Estaré publicando un Tutorial breve donde expongo este procedimiento.
Por lo demás está genial el desafío! es una práctica muy real y el tiempo me parece generoso.
Saludos.
En el CLI cuando intentan bajar utilicen las flechas , no se mueve nada pero igual unden 3 veces la flecha hacia abajo(key down) y presionan enter y deberia igual seleccionar.
Cuando les solicite la siguiente opción "What do you want to use as your public directory?" pueden dar enter, generando una carpeta "public", la cual después de hacer el deploy deberán pasar todos los archivos del dist ahí y nuevamente hacer el deploy.
Si, yo lo estoy haciendo, con clasico, con sql server utilizando Visual Studio 2015 para el back-end y Visual Studio code para el front-end. Por lo menos a mi me gusta.
No es justamente este proyecto, es para otro que usa a full Sql Server pero no uso mapas.
Desarrollo en un Windows 10
Siempre es mejor hacer Server Side Render para que los spiders de los buscadores encuentren la información, tengo entendido que google puede ejecutar JavaScript y obtener la información pero no estoy seguro, como lo mencioné siempre es mejor hacer server side render.
Tengo problemas para actualizar la aplicación. Luego de que la subi por primera vez funciona, pero luego que trato de hacer otro deplore, me presenta lo siguiente!:
Welcome
Firebase Hosting Setup Complete
You’re seeing this because you’ve successfully setup Firebase Hosting. Now it’s time to go build something extraordinary!
Hola, me acabe de suceder lo mismo me di cuenta que seleccione la opción de sobrescribir el archivo index.html asi que lo solucione de la siguiente manera: volví a realizar todo el procedimiento seleccione “no sobrescribir el index.html” y al final ejecute el comando firebase deploy. Y ya me aparece de nuevo el proyecto actualizado en el hosting de firebase.
Hola les comparto la URL de lo que va mi proyecto:
URL proyecto del curso
Para quienes hayan publicado en Firebase el proyecto y luego hayan realizado cambios para publicar nuevamente, se les agradece el aporte con un resumen básico del procedimiento.
Gracias.