Deploy Express API in Firebase Functions

Aprovecha lo fácil que hacer deploy con firebase functions

Tokidev | Rodrigo Torrico
5 min readMay 26, 2020

En este artículo vamos a aprender a configurar un proyecto de node js con express dentro de un entorno de firebase functions para aprovechar las ventajas que tiene y su fácil deployment. ⚡️

¿Qué necesito saber antes de seguir esta guía?

Para terminar seguir esta guía necesitas conocer un poco sobre: , Node.js, Express.js, Firebase . Aquí te dejo algunos links para que los puedas revisar:

  • Node.js: Es un entorno de programación para el servidor basado en el lenguaje de programación JavaScript. En esta guía lo usaremos como nuestro entorno de programación principal.
  • Express.js: Es una librería de código abierto que en conjunta a Node.Js nos permite realizar nuestro API.
  • Firebase: Es un producto que nos brinda Google que tiene muchos servicios para los programadores. En esta guía utilizarémos el servicio de Firebase functions que nos permite trabajar en un entorno escalable con Node.Js para realizar funciones que se pueden integrar con otros servicios de Google o externos.

¿Qué lograremos con esta guía?

Este artículo es una guía para que te permitirá poner en producción un API básico realizado con Node.js y Express.js.

Screenshot del API deployado

¿Cómo esta dividida esta guía?

Esta guía esta dividida en 4 fases:

  1. Configurar firebase
  2. Configurar firebase functions
  3. Agregar express
  4. Deployar en Firebase

El objetivo de dividirlo en secciones además de tener una estructura simple y fácil de entender es que puedas ir saltando entra las mismas, si es que ya te encuentras familiarizado con algún paso.

1.Configurar Firebase

  • Crea un proyecto en la consola de Firebase:

Para poder crear el proyecto en Firebase es necesario que tengas una cuenta en Google o Gmail.

Screenshot de la consola de Firebase
Screenshot del proceso de creación de un proyecto en Firebase.
  • Instala Node.js (en caso de que no lo tengas). Puedes instalarlo de manera tradicional siguiendo la guía de su página oficial, peros si tienes mac y usas brew puedes hacer con el siguiente comando en la terminal:
brew install node
  • Instala Firebase tools te permitirá gestionar tus proyectos de firebase desde la terminal de tu computadora. Para instalarlo debes ejecutar en la terminal este comando:
npm install firebase-tools -g
  • Inicia sesión en firebase deste la terminal con el siguiente comando:
firebase login

2.Configurar Firebase functions

  • Inicializa Firebase en tu proyecto con el siguiente comando de terminal:
firebase init
  • Selecciona Firebase functions dentro de las opciones.
Screenshot de la terminal al ejecutar el comando firebase init
  • Selecciona el proyecto que creaste en la fase anterior
Screenshot de la terminal para seleccionar un proyecto
  • Selecciona JavaScript como lenguaje de programación principal.
Screshot de la terminal para seleccionar lenguaje
  • Acepta la instalación de las dependencias colocando yes.
  • Ahora, solo debes esperar a que las dependencias necesarias terminen de instalarse.

3. Agregar express

  • Ingresa a la carpeta functions
cd functions
  • Agregar express como dependecia del proyecto
npm install express --save
  • Agrega un script básico para usar express en el archivo index.js
let express = requiere('express');
let app = express();
app.get('/', (request, response)=>{
response.send("The best app");
}
  • Exportar app de manera que firebase functions lo pueda reconocer. Este código debe ser agregado en index.js
export.app = functions.https.onRequest(app);
  • Ejecuta el siguiente comando para ver si todo esta funcionando bien
firebase serve
  • En caso de que todo este bien, te saldrá en terminal un mensaje parecido a este, en el cual te brinda un link con el que puedes emepezar a hacer pruebas localmente.
Screenshot de la terminal después de ejecutar el comando ‘firebase serve’.
  • Al momento de ingresar al link anterior, debe salirte el siguiente mensaje en caso de que todo este bien.
Screenshot del navegador al ingresar al link anterior

4. Deployar en Firebase

  • Ejecuta el siguiente comando para realizar el deploy
firebase deploy 
  • En caso de que todo este bien, en la terminal te brindará el link del proyecto deployado.
Screenshot de la terminal después de realizar el deploy
  • Al entrar al link podrás acceder al api que realizamos sin necesidad de tenerlo localmente como en la siguiente imagen
Screenshot del API deployado
  • Al entrar a la consola de firebase y acceder a la sección de firebase functions podrás ver la aplicación de esta manera.
Screenshote de la terminar de firebase funcions

Recomendaciones finales

  • Es bueno seguir guías al inicio que estás aprendiendo una tecnología nueva, pero luego es muy bueno leer la documentación oficial. En caso de que quieras aprender más sobre firebase functions puedes hacerlo en el siguiente link:
  • Firebase functions que nos brinda Google para generar servicios en base a eventos (serverless), no es una manera habitual de hacer Deploy de un api en express.
  • Es recomendable que configures el proyecto desde el inicio con firebase y express y no lo dejes para el final.

Links relacionados :

Video con la misma guía del artículo :

Repositorio de ejemplo:

Dale ⭐️ al repo si te sirvió el artículo :D

Gracias por leer este artículo! ❤️ Espero que te sirva de mucho. Si tienes cualquier pregunta puedes hacerla por acá, o escribirme por instagram @rodri.torrico o si prefieres a mi email contact@rodrigotorrico.com

No te olvides dejar tus 👏🏻👏🏻👏🏻👏🏻👏🏻

--

--

Tokidev | Rodrigo Torrico

Developer who likes to write and share knowledge about things he learn every day.