Hágase una pequeña API con funciones de Netlify

Índice
  1. Una functionscarpeta con un archivo Node.
  2. Implementarlo en Netlify
  3. Manifestación

A continuación se muestra un ejemplo de un pequeño caso de uso agradable para las funciones de la nube. Glitch tiene este gran paquete de palabras amigables. Supongamos que desea generar aleatoriamente “elefante feliz” o “árbol caminante”, y necesita hacerlo en su sitio web en JavaScript. Bueno, este paquete es bastante grande (~200 KB), necesariamente, porque contiene grandes diccionarios de palabras. No querrás enviar eso a tu JavaScript del lado del cliente cuando no sea necesario.

Las funciones de la nube son geniales y, en su lugar, podemos usarlas para tener una pequeña API para este paquete. De esa manera el tamaño no importa mucho, está en un servidor. Netlify hace que esto sea lo más fácil posible.

Aquí hay un repositorio que lo hace todo posible. ¡Apenas es un código!

Una functionscarpeta con un archivo Node.

En la raíz de nuestro proyecto:/functions/random.js

Este archivo solicitará el friendly-wordspaquete y exportará una sola función. Básicamente, toma dos palabras aleatorias, las junta y las devuelve.

const friendlyWords = require("friendly-words");exports.handler = function(event, context, callback) {  const { predicates, objects } = friendlyWords;  const numberOfPredicates = predicates.length;  const numbersOfObjects = objects.length;  const randomPredicate =    predicates[Math.floor(Math.random() * numberOfPredicates)];  const randomObject = objects[Math.floor(Math.random() * numbersOfObjects)];  const output = `${randomPredicate}-${randomObject}`;  callback(null, {    headers: {      "Access-Control-Allow-Origin": "*"    },    statusCode: 200,    body: output  });};

Implementarlo en Netlify

Podemos configurar Netlify para decirle que tenemos esta función en un netlify.tomlarchivo (para que ni siquiera tengamos que preocuparnos por la interfaz de usuario).

[build]  command = "#"  functions = "functions/"

Pero si quisiera decirle esto a Netlify en Configuración, puedo:

Una vez implementado, le di un bonito nombre de sitio y luego esa función de nube estará disponible en una URL. Incluso puedes verlo en el navegador:

https://friendly-words.netlify.com/.netlify/functions/random

Ahora no tengo que enviar ese paquete en mi JavaScript del lado del cliente; Puedo simplemente presionar esta URL para obtener lo que quiero.

CORS

Si accede a esta URL desde mi propio sitio web, friendly-words.netlify.comtampoco tendría que preocuparme por CORS, pero si necesito usarla desde cualquier otro sitio web, lo hago. Observe el Access-Control-Allow-Originmaterial en el JavaScript del nodo anterior. Eso se encarga de eso.

Manifestación

Para usar nuestra pequeña API, podemos hacerlo fetchdesde ella. ¡Eso es todo!


¿Esto despierta tu interés? Netlify tiene un montón de ejemplos de uso de funciones.


Mientras hacía esto me encontré con el artículo de Paul Kinlan que hace prácticamente lo mismo, pero tiene algunas funciones adicionales como parte de la API que tal vez quieras consultar.

SUSCRÍBETE A NUESTRO BOLETÍN 
No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

Deja un comentario

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

Subir

Este sitio web utiliza cookies para mejorar tu experiencia mientras navegas por él. Este sitio web utiliza cookies para mejorar tu experiencia de usuario. Al continuar navegando, aceptas su uso. Mas informacion