Prueba de forma local y, luego, implementa en el sitio

Puedes ver y probar tu sitio de forma local, incluso emular las funciones de HTTPS, antes de implementarlo en producción.

Comienza ahora

Completa los pasos que se mencionan en la página de inicio de Hosting, que incluyen la instalación de Firebase CLI y la conexión del proyecto local en el proyecto de Firebase.

Entrega y prueba tu proyecto de Firebase de forma local (opcional)

Puedes ver y probar el proyecto de Firebase en las URL alojadas localmente antes de implementarlo en la producción. Si solo quieres probar algunas funciones, puedes usar una lista de elementos separados por comas en una marca del comando firebase serve.

Ejecuta el siguiente comando desde la raíz del directorio del proyecto local si quieres realizar alguna de estas tareas:

firebase serve --only hosting

Emula el proyecto con funciones de HTTP locales

Ejecuta cualquiera de los siguientes comandos desde el directorio del proyecto para emular el proyecto con funciones locales de HTTP.

  • A fin de emular funciones de HTTP y alojamiento para pruebas en URL locales, usa cualquiera de los siguientes comandos:

    firebase serve
    firebase serve --only functions,hosting // uses a flag
  • Para emular solo funciones de HTTP, usa el siguiente comando:

    firebase serve --only functions

Realiza pruebas desde otros dispositivos locales

De forma predeterminada, firebase serve solo responde a las solicitudes de localhost. Esto significa que podrás acceder al contenido alojado mediante el navegador web de tu computadora, pero no desde otros dispositivos de la red. Para realizar pruebas desde otros dispositivos locales, usa la marca --host, como se indica a continuación:

firebase serve --host 0.0.0.0  // accepts requests to any host

Realiza implementaciones en tu sitio

Para realizar implementaciones en tu sitio, ejecuta el siguiente comando desde la raíz del directorio del proyecto local:

firebase deploy

Con este comando, se implementa una versión en los siguientes sitios:

  • Los sitios de Hosting predeterminados del proyecto de Firebase, projectID.web.app y projectID.firebaseapp.com

  • Cualquier dominio personalizado que hayas conectado al sitio de Hosting

De manera opcional, puedes agregar un comentario a la implementación. Este comentario se mostrará junto con otra información de la implementación en la página Hosting del proyecto. Por ejemplo:

firebase deploy -m "Deploying the best new feature ever."

Implementaciones para proyectos con varios sitios

Si agregaste sitios adicionales al proyecto de Firebase, utiliza el siguiente comando para realizar la implementación en uno de esos sitios:

firebase deploy --only hosting:target-name

El parámetro target-name es el identificador único que especificaste para el sitio adicional de Hosting durante su configuración.

Agrega tareas de secuencia de comandos previas y posteriores a la implementación

De manera opcional, puedes conectar secuencias de comandos de shell al comando firebase deploy para realizar tareas previas a la implementación o posteriores a ella. Por ejemplo, una trampa posterior a la implementación podría notificar a los administradores cuando se implementa contenido nuevo del sitio. Consulta la documentación de Firebase CLI para obtener más información.

Almacena en caché el contenido implementado

Cuando se realiza una solicitud de contenido estático, Firebase Hosting almacena en caché de forma automática el contenido en la CDN. Si vuelves a implementar el contenido del sitio, Firebase borra automáticamente todo el contenido estático almacenado en caché en la CDN para que las solicitudes nuevas reciban el contenido nuevo.

Ten en cuenta que puedes configurar el almacenamiento en caché del contenido dinámico.

Realiza entregas mediante HTTPS

Mientras desarrollas tu aplicación, asegúrate de que todos los recursos externos que no se alojan en Firebase Hosting estén cargados mediante SSL (HTTPS), incluidas las secuencias de comandos externas. La mayoría de los navegadores no permiten que los usuarios carguen "contenido mixto" (tráfico SSL y no SSL).