Instalación de los paquetes de NPM en las funciones de Supabase Edge Si está familiarizado con las funciones de Supabase Edge, es posible que sepa que instalar paquetes NPM no es tan sencillo como en una aplicación Node.js o Express típica. Sin embargo, hay varios métodos para incluir paquetes NPM en las funciones de Edge Supabase. En esta guía, demostraré cómo usar el archivo import_map.json para lograrlo.
Asegúrese de que Docker esté instalado en su máquina.
Elija su directorio y ejecute el siguiente comando:
npx supabase init Esto creará una carpeta supabase en su directorio.
Ejecute el siguiente comando para iniciar el proyecto:
npx supabase startEste proceso puede tomar unos minutos, ya que extrae imágenes de Docker e inicia los contenedores.
Abra el directorio en su editor de código favorito y ejecute el siguiente comando para crear una nueva función de borde de supabase:
npx supabase functions new < your-function-name > Esto creará una carpeta con el nombre de su función dentro del directorio functions .
Puede instalar cualquier paquete NPM. Para este ejemplo, instalaremos paquetes Langchain para crear una tubería de trapo básica.
import_map.json Cree un archivo llamado import_map.json en su carpeta functions y agregue el siguiente bloque JSON:
{
"imports" : {
"@supabase/supabase-js" : " npm:@supabase/[email protected] " ,
"langchain/" : " https://esm.sh/[email protected]/ " ,
"@langchain/openai/" : " https://esm.sh/@langchain/[email protected]/ " ,
"@langchain/core/" : " https://esm.sh/@langchain/[email protected]/ " ,
"@langchain/community/" : " https://esm.sh/@langchain/[email protected]/ "
}
}Si desea usar submódulos de un paquete NPM, asegúrese de agregar un
/al final del nombre del paquete. Como referencia, consulte la importación de@supabase/supabase-jsy los paqueteslangchainrestantes.
Asegúrese de que su proyecto esté vinculado con su proyecto Supabase Cloud.
Para implementar su función de borde para supabase, ejecute el siguiente comando:
npx supabase functions deployEste comando implementará todas las funciones.
Para implementar una función específica, use:
npx supabase functions deploy < function-name >