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: Todo sobre Hoteles

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.










Al suscribirte, aceptas nuestra política de privacidad y nuestros términos de servicio.






Tal vez te puede interesar:

  1. La innovación no puede mantener la Web rápida
  2. Rendimiento web ultrarrápido
  3. Tabla de contenidos fijos con estados activos de desplazamiento
  4. “cambiar tamaño: ninguno;” en áreas de texto es una mala experiencia de usuario

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

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

Una functionscarpeta con un archivo Node.Implementarlo en NetlifyManifestaciónTal vez te puede interesar:Índice

programar

es

https://pseint.es/static/images/programar-hagase-una-pequena-api-con-funciones-de-netlify-1319-0.jpg

2024-06-13

 

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

Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente

 

 

Update cookies preferences