Creare funzioni
Le funzioni Base44 sono funzioni backend serverless che vengono eseguite su Deno. Sono definite localmente nel tuo progetto e distribuite al backend di Base44.Directory delle funzioni
Tutte le definizioni delle funzioni devono essere posizionate nella cartellabase44/functions/ nel tuo progetto. La funzione più semplice è una cartella con un file entry.ts o entry.js al suo interno.
Struttura di esempio:
Come creare una funzione
- Crea una nuova directory in
base44/functions/con il nome della funzione (usa kebab-case) - Crea
entry.ts(oentry.js) in quella directory - Distribuisci la funzione usando la CLI
Rilevamento delle funzioni
La CLI rileva le funzioni dai fileentry.ts o entry.js. Una cartella che contiene uno di questi file è una funzione:
| File | Nome della funzione |
|---|---|
base44/functions/process-order/entry.ts | process-order |
base44/functions/orders/process/entry.ts | orders/process |
entry.tsoentry.jsdeve essere all’interno di una sottocartella con nome, non direttamente inbase44/functions/- tutti i file
*.js,*.tse*.jsonnella cartella della funzione sono inclusi durante la distribuzione - i percorsi delle funzioni con un punto in qualsiasi segmento del percorso vengono ignorati
File di entry point
Le funzioni vengono eseguite su Deno e devono esportare usandoDeno.serve(). Usa il prefisso npm: per i pacchetti npm.
Oggetto Request
La funzione riceve un oggettoRequest Deno standard:
req.json()- Analizza il body JSONreq.text()- Ottiene il body come testo grezzoreq.headers- Accede agli header della richiestareq.method- Metodo HTTP
Oggetto Response
Restituisci usandoResponse.json() per le risposte JSON:
Esempio completo
Struttura della directory
entry.ts
Uso dell’accesso Service Role
Per operazioni a livello admin, usaasServiceRole:
Uso dei secret
Accedi alle variabili d’ambiente configurate nella dashboard dell’app:Convenzioni di denominazione
- Nome della directory: usa kebab-case (ad es.
process-order,send-notification) - Nome della funzione: proviene dal percorso della directory sotto
base44/functions/- Validi:
process-order,orders/process,send_notification,myFunction - Non validi:
process.order,send.notification.v2
- Validi:
- File di entry: usa
entry.tsoentry.js
Distribuire le funzioni
Dopo aver creato la tua funzione, distribuiscila a Base44:Note
- Le funzioni vengono eseguite sul runtime Deno, non Node.js
- Usa il prefisso
npm:per i pacchetti npm (ad es.npm:@base44/sdk) - Usa
createClientFromRequest(req)per ottenere un client che eredita il contesto di autenticazione del chiamante - Configura i secret tramite la dashboard dell’app per le chiavi API
- Assicurati di gestire gli errori con eleganza e restituire codici di stato HTTP appropriati
Errori comuni
| Sbagliato | Corretto | Perché |
|---|---|---|
base44/functions/myFunction.js (singolo file) | base44/functions/my-function/entry.ts | Le funzioni devono trovarsi in una sottodirectory con nome |
base44/functions/entry.ts | base44/functions/my-function/entry.ts | Il nome della funzione proviene dal percorso della sottodirectory |
import { ... } from "@base44/sdk" | import { ... } from "npm:@base44/sdk" | Deno richiede il prefisso npm: per i pacchetti npm |
Directory MyFunction o myFunction | Directory my-function | Usa kebab-case per i nomi delle directory |
Questa pagina è stata tradotta utilizzando l’IA. Per informazioni più accurate e aggiornate, consulta la versione inglese.

