Implementar un proyecto web en Firebase con node

proyecto web en Firebase con node

En pocas palabras, estamos desarrollando una app o una web y queremos tener poco trabajo en el backend. Firebase es una muy buena alternativa para implementar un proyecto web .

Qué es Firebase?

Firebase es una plataforma propiedad de Google para el desarrollo de aplicaciones web y móvil. Ofrece diferentes servicios integrados con lo que es muy sencillo desarrollar aplicaciones. Librerías de autenticación, bases de datos en tiempo real, analytics, almacenamiento en en la nube, etc. hablar de esta plataforma en constante crecimiento seria muy largo en estos momentos, nos vamos a centrar en una de ellas el Hosting en su versión gratuita (plan “Spark”), para hacer pruebas de una forma sencilla.

Hosting

Como siempre la entrada es con una cuenta de gmail y vamos a la “consola” donde crearemos un proyecto. Dentro iremos a la sección “productos de compilación” donde está todo el backend y en donde encontraremos la parte de Hosting. En el plan Spark gratuito tenemos 10 gb de espacio, transferencia 360 Mb/día, dominio personalizado y varios sitios por proyecto.

En caso de no tener dominio podemos utilizar los que nos proponen ellos del tipo xxx.web.app, donde en lugar de xxx podemos poner lo que nos venga bien, en este caso voy a utilizar “video2”.

firebase hosting web

Qué es node?

Es un entorno de código abierto y multiplataforma con un motor de JavaScript integrado. Lo que nos permite Node es ejecutar JavaScript fuera del entorno del navegador de forma muy rápida. Esta basado en el motor de JavaScript de Chrome.

Se puede utilizar cualquier editor de código (Notepad ++, Bluefish … yo utilizo Visual Code) vamos a la carpeta correspondiente donde tenemos el export y abrimos un terminal, vemos si tenemos node instalado y su gestor de paquetes.

node -v
npm -v

Nos ha de devolver la versión que tenemos instalada, en caso de que no este instalado vamos directamente al instalador de Node la descargamos, en mi caso para Windows (x64)

Siempre mejor utilizar la versión estable recomendada (LTS) para la mayoría de usuarios, después reiniciar el ordenador. Podemos descargar también versión para Mac, para Linux, con gestores de paquetes etc.

instalar node para windows, mac o linux

Pasos a seguir para implementar Firebase un proyecto web con node

Una vez tenemos Node y su gestor de paquetes instalado (npm) vamos a Firebase para desde allí gestionar la parte de servidor.

1. Vamos a Firebase

Desde Firebase – Hosting añadimos nuevo site. Nos pide un nombre para utilizar como prefijo del dominio, lo tengo como Id por si después queremos añadir más sitios al mismo proyecto.

implementar Firebase un proyecto web con node

2. Ponemos en una carpeta todo nuestro proyecto

Partimos de un proyecto web, yo he utilizado Bootsrap Studio y lo he exportado a una carpeta llamada “export” donde tenemos los ficheros html y una carpeta “assets” donde están las imágenes, css, javascript etc.

exportamos proyecto desde bootstrap studio

3. Instalamos Firebase CLI

Después vamos a instalar las herramientas de Firebase con node cli. También nos invita a actualizar el gestor de paquetes de node al final si detecta que hay una versión nueva. Muy cómodo.

npm install -g firebase-tools

4. Iniciamos el proyecto

Autentificamos en Firebase

firebase login

En windows podemos tener problemas con la “Policies” de usuarios ejecución de scripts deshabilitada hemos de ejecutar este comando

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
problemas usuarios policies ejecución de scripts deshabilitada

Vemos los proyectos que tenemos para comprobar que esta creado correctamente

firebase projects:list

iniciamos el procedimiento del nuevo proyecto

firebase init

Nos aparece la siguiente pantalla, con los cursores vamos al primero de los dos métodos de Hosting . Lo marcamos con la barra espaciadora, y damos intro,

firebase configure hosting

a continuación nos propone la creación de la carpeta “public”que aceptamos y dos configuraciones mas que en este caso no nos interesan y ponemos la “n” de no

implementar proyecto web en Firebase

Nos crea una carpeta Public y ponemos nuestros archivos dentro (index y Assets) que hemos exportado de Bootstrap.

proyecto web con node en Firebase. Carpeta public

5. Despliegue / deploy con Firebase .

Si tenemos varias webs en el mismo proyecto hay que especificar cual de ellas vamos a crear o actualizar.Para ello hemos de editar el archivo firebase.json que nos ha creado en la carpeta de trabajo, la misma de “public”. Hay que poner el siguiente código, con la id del que acabamos de crear. En este caso quedaría así

{
  "hosting": {
    "site": "video2",
    "public": "public"
  }
}

A continuación ya podemos iniciar el despliegue (Deploy) del proyecto

firebase deploy

En caso de que no funcionara correctamente y sobrescribiera otro proyecto después de los dos puntos habría que poner la id de proyecto que hemos definido, el prefijo que hemos añadido a la url. Pero esto sólo en caso de error.

firebase deploy --only hosting:video2

En ambos casos hemos de ver como nos indica el número de archivos que sube al servidor. Luego nos ofrece el link para acceder con el navegador.

firebase deploy con node

Una vez instalado node, Firebase cli, etc, es muy cómo hacer actualizaciones, si estamos logados simplemente seria exportar y ejecutar los dos últimos comandos.

Parece un poco farragoso pero después nos damos cuenta que usar la interfaz de comandos es más rápido que utilizar un FTP y a partir de aquí podemos ir ampliando con el resto de servicios que nos ofrece la plataforma.

1 respuesta

  1. 22 diciembre, 2023

    […] El coste de las versiones de Gemini varía en función de la cantidad de recursos que se utilicen. Gemini Nano es gratuito para uso personal. Gemini Pro y Gemini Ultra tienen precios basados en el uso, similar a Firebase. […]

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *