Cómo comenzar con Firebase Hosting

Firebase es un servicio de Google Cloud, un producto articulado, dirigido principalmente a aplicaciones móviles. Firebase Hosting es una pequeña parte.

Introducción a Firebase

Firebase es una plataforma de desarrollo de aplicaciones web y móviles desarrollada por Firebase, Inc. en 2011, y fue adquirida por Google en 2014.

Entonces, ahora Firebase es un servicio de Google Cloud, y no solo eso, es un producto insignia de su oferta en la nube.

Firebase es un producto complejo y articulado, dirigido principalmente a aplicaciones móviles.

Sin embargo, una de sus características es un servicio de alojamiento web avanzado.

Funciones de Firebase Hosting

Firebase Hosting proporciona alojamiento para sitios web estáticos, como los que puede generar mediante generadores de sitios estáticos o incluso sitios creados con plataformas CMS del lado del servidor, a partir de los cuales genera una copia estática del sitio web.

Puede alojar cualquier cosa siempre que no sea dinámico. Un blog de WordPress, por ejemplo, es casi siempre un buen candidato para ser un sitio estático, si usa Disqus o comentarios de Facebook.

Firebase Hosting entrega archivos a través de FastlyCDN, utilizando HTTPS y proporciona un certificado SSL automático, con soporte de dominio personalizado.

Suel nivel gratuito es generoso, con planes económicos si lo superas, y es muy amigable para los desarrolladores: Firebase proporciona una herramienta de interfaz CLI, un proceso de implementación fácil y reversiones con un solo clic

¿Por qué debería usar Firebase Hosting?

Firebase puede ser una buena opción para implementar sitios web estáticos y aplicaciones de una sola página.

Me gusta usar Firebase Hosting principalmente porque probé muchos proveedores diferentes y Firebase ofrece unavelocidad impresionanteen todos los continentes sin la necesidad de un CDN separado en la parte superior, ya queel CDN está integradogratis.

Además, si bien tener su propio VPS también es una muy buena opción,No quiero administrar mi propio servidorsolo para un sitio web simple, prefiero concentrarme en el contenido en lugar de en las operaciones, al igual que implementaría una aplicación en Heroku.

Firebase es incluso más fácil de configurar que Heroku.

Instala la herramienta Firebase CLI

Instale Firebase CLI connpm:

npm install -g firebase-tools

or

yarn global add firebase-tools

and authenticate with the Google account (I assume you already have a Google account) by running

firebase login

Create a project on Firebase

Go to https://console.firebase.google.com/ and create a new project.

A new project on Firebase

Now back to the console, from the site you’re working on, in the root folder, run

firebase init

Firebase initialized

Choose “Hosting” by pressing space, then enter to go on.

Now you need to choose the project you want to deploy the site to.

Choose firebase project

Choose “create a new project”.

Now you choose which folder contains the static version of your site. For example, public.

Reply “No” to the Configure as a single-page app (rewrite all urls to /index.html)? question, and also reply “No” to File public/index.html already exists. Overwrite? to avoid Firebase to add its own default index.html file.

You’re good to go:

Project created

Configure the site

The Firebase CLI app created the firebase.json file in the root site folder.

In this article I tell how to configure a simple feature in Firebase Hosting, by adding a small bit of configuration in the firebase.json file.

I want to set the Cache-Control header directive on all the site assets: images as well as CSS and JS files.

A clean firebase.json file contains the following:

{
  "hosting": {
    "public": "public",
    "ignore": ["firebase.json", "**/.*", "**/node_modules/**"]
  }
}

It tells Firebase where is the site content, and which files it should ignore. Feel free to add all the folders you have, except public.

We’re going to add a new property in there, called headers:

{
  "hosting": {
    "public": "public",
    "ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
    "headers": [
      {
        "source": "**/*[email protected](jpg|jpeg|gif|png|css|js)",
        "headers": [
          {
            "key": "Cache-Control",
            "value": "max-age=1000000" //1 week+
          }
        ]
      }
    ]
  }
}

As you can see we tell that for all files ending with jpg|jpeg|gif|png|css|js Firebase should apply the Cache-Control:max-age=1000000` directive, which means all assets are cached for more than 1 week.

Publish the site

When you are ready to publish the site, you just run

firebase deploy

and Firebase takes care of everything.

You can now open https://yourproject.firebaseapp.com and you should see the website running.

Custom Domain

The next logical step is to make your site use a custom domain.

Go to https://console.firebase.google.com/project/_/hosting/main and click the “Connect Domain” button:

Setup a custom domain

The wizard will ask you for the domain name, then it will provide a TXT record you need to add to your hosting DNS panel to verify the domain.

If the domain is brand new, it might take some time before you can pass this step.

Once this is done, the interface will give you two A records to add as well to your hosting DNS panel.

If you set up yourdomain.com, don’t forget to also set up www.yourdomain.com, by making it a redirect.

Connect a domain

Now you just have to wait for your hosting to update the DNS records and for DNS caches to flush.

Also, keep in mind that your SSL certificate is automatically provisioned but requires a bit of time to be valid.


More services tutorials: