Crear funciones
Las funciones de Base44 son funciones de backend sin servidor que se ejecutan en Deno. Se definen localmente en tu proyecto y se despliegan al backend de Base44.Directorio de funciones
Todas las definiciones de funciones deben colocarse en la carpetabase44/functions/ en tu proyecto. La función más simple es una carpeta con un archivo entry.ts o entry.js dentro.
Estructura de ejemplo:
Cómo crear una función
- Crea un nuevo directorio en
base44/functions/con el nombre de tu función (usa kebab-case) - Crea
entry.ts(oentry.js) en ese directorio - Despliega la función usando la CLI
Descubrimiento de funciones
La CLI descubre funciones desde los archivosentry.ts o entry.js. Una carpeta que contiene uno de esos archivos es una función:
| Archivo | Nombre de función |
|---|---|
base44/functions/process-order/entry.ts | process-order |
base44/functions/orders/process/entry.ts | orders/process |
entry.tsoentry.jsdeben estar dentro de una subcarpeta con nombre, no directamente enbase44/functions/- todos los archivos
*.js,*.tsy*.jsonbajo la carpeta de función se incluyen al desplegar - las rutas de función con un punto en cualquier segmento de ruta se ignoran
Archivo de punto de entrada
Las funciones se ejecutan en Deno y deben exportar usandoDeno.serve(). Usa el prefijo npm: para paquetes npm.
Objeto Request
La función recibe un objetoRequest estándar de Deno:
req.json()- Analiza el cuerpo JSONreq.text()- Obtiene el cuerpo de texto sin procesarreq.headers- Accede a las cabeceras de la solicitudreq.method- Método HTTP
Objeto Response
Devuelve usandoResponse.json() para respuestas JSON:
Ejemplo completo
Estructura de directorios
entry.ts
Usar acceso de rol de servicio
Para operaciones de nivel administrador, usaasServiceRole:
Usar secretos
Accede a las variables de entorno configuradas en el panel de la app:Convenciones de nomenclatura
- Nombre del directorio: Usa kebab-case (por ejemplo,
process-order,send-notification) - Nombre de función: Proviene de la ruta del directorio bajo
base44/functions/- Válido:
process-order,orders/process,send_notification,myFunction - Inválido:
process.order,send.notification.v2
- Válido:
- Archivo de entrada: Usa
entry.tsoentry.js
Desplegar funciones
Después de crear tu función, despliégala a Base44:Notas
- Las funciones se ejecutan en el runtime de Deno, no en Node.js
- Usa el prefijo
npm:para paquetes npm (por ejemplo,npm:@base44/sdk) - Usa
createClientFromRequest(req)para obtener un cliente que hereda el contexto de autenticación del llamante - Configura secretos mediante el panel de la app para claves API
- Asegúrate de manejar errores con elegancia y devolver códigos de estado HTTP apropiados
Errores comunes
| Incorrecto | Correcto | Por qué |
|---|---|---|
base44/functions/myFunction.js (archivo único) | base44/functions/my-function/entry.ts | Las funciones deben vivir en un subdirectorio con nombre |
base44/functions/entry.ts | base44/functions/my-function/entry.ts | El nombre de la función proviene de la ruta del subdirectorio |
import { ... } from "@base44/sdk" | import { ... } from "npm:@base44/sdk" | Deno requiere el prefijo npm: para paquetes npm |
Directorio MyFunction o myFunction | Directorio my-function | Usa kebab-case para nombres de directorio |
Esta página fue traducida usando IA. Para obtener la información más precisa y actualizada, consulta la versión en inglés.

