Publicado el 17.04.2021 a las 09:41
Netlify te permite desplegar funciones sin servidor en AWS, las famosas AWS’s serverless Lambda functions sin necesidad de tener una cuenta en Amazon, de forma que podemos tener un proyecto completo en Netlify, no sólo las funciones como Backend, si no también el Frontend.
Las funciones Lambda de AWS abren un mundo de posibilidades, ya que podemos correr código de servidor sin tener un servidor dedicado y además nuestro código será escalable dentro de la arquitectura de AWS.
Por defecto, todas la funciones que despleguemos en Netlify tendrán las siguientes características:
Para iniciar un proyecto de TypeScript ve a mi artículo donde lo explico, es muy rápido y fácil
Crea en la raíz del proyecto el fichero .gitignore, para añadir todo lo que no queramos que se sigue en Git. En nuestro caso no queremos que se siga la carpeta node_modules
A continuación:
git init
git add .
git remote add origin <nombre-de-tu-repositorio>
git commit -m "first commit"
git branch -M main
git push -u origin main
Si quieres más información acerca de git puedes echarle un vistazo a este artículo
Para crearnos una cuenta gratuita vamos a esta web y elegimos la forma de login que más nos guste, en mi caso elegí hacerlo con GitHub.
En la pestaña de Sites, pulsar sobre el botón que pone New site from Git y elegir el repositorio quecreamos en el punto 2.
Esta acción publicará automáticamente lo que tengamos en nuestro repositorio, ya que por defecto está activado el continuous deployment and continuous integration (CI/CD)
Antes de crear nuestra función de hola mundo, tenemos que crear una carpeta llamada netlify y dentro otra llamada functions y ahí es donde crearemos nuestra funciones que después desplegaremos en Netlify. Esa ruta de carpeta es en la que Netlify buscará por defecto las funciones para transpilarlar a JavaScript y desplegarlas.
Si quisieras que tus funciones estuvieran en otra ubicación lo puedes configurar haciendo uso de un fichero llamado
netlify.toml
[functions]
directory
mis_funciones
[functions] directory = "mis_funciones"
A continuación, instalaremos los tipos para TypeScript de las funciones de Netlify, para ello
npm install @netlify/functions
Es recomendable que tengas activadas las propiedades
esModuleInterop
isolatedModules
tsconfig.json
Crearemos en el directorio que deseemos tener nuestras funciones, recuerda que en el punto anterior creamos una carpeta
netlify
functions
hola.ts
hola.ts
import { Handler } from "@netlify/functions"; const handler: Handler = async (event, context) => { return { statusCode: 200, body: JSON.stringify({ message: "Hola mundo" }), }; }; export { handler };
Para desplegar en Netlify tan fácil como subir los cambios a nuestro repositorio remoto, para ello:
git add .
git commit -m "hola mundo"
git push
Si nos vamos a nuestra cuenta de Netlify y entramos al sitio que creamos en el punto 4 veremos los distintos despliegues en la zona que rodeo en amarillo:
Si pulsamos en la pestaña de Functions veremos nuestra función desplegada y pulsando sobre ella accederemos a sus características como son el endpoint y el panel de log
Tan fácil como escribir el endpoint en nuestro navegador y nos devolverá el
Hola mundo
Puedes descargarte el código de mi github
Hasta luego 🖖