Funktionen erstellen
Base44-Funktionen sind serverlose Backend-Funktionen, die auf Deno laufen. Sie werden lokal in deinem Projekt definiert und im Base44-Backend deployt.Funktionsverzeichnis
Alle Funktionsdefinitionen müssen im Ordnerbase44/functions/ in deinem Projekt abgelegt werden. Die einfachste Funktion ist ein Ordner mit einer Datei entry.ts oder entry.js darin.
Beispielstruktur:
So erstellst du eine Funktion
- Erstelle ein neues Verzeichnis in
base44/functions/mit deinem Funktionsnamen (verwende kebab-case) - Erstelle
entry.ts(oderentry.js) in diesem Verzeichnis - Deploye die Funktion mit der CLI
Funktionserkennung
Die CLI erkennt Funktionen anhand vonentry.ts- oder entry.js-Dateien. Ein Ordner, der eine dieser Dateien enthält, ist eine Funktion:
| Datei | Funktionsname |
|---|---|
base44/functions/process-order/entry.ts | process-order |
base44/functions/orders/process/entry.ts | orders/process |
entry.tsoderentry.jsmuss in einem benannten Unterordner liegen, nicht direkt inbase44/functions/- Alle
*.js-,*.ts- und*.json-Dateien im Funktionsordner werden beim Deployen einbezogen - Funktionspfade mit einem Punkt in irgendeinem Pfadsegment werden ignoriert
Einstiegspunkt-Datei
Funktionen laufen auf Deno und müssen mitDeno.serve() exportieren. Verwende das Präfix npm: für npm-Pakete.
Request-Objekt
Die Funktion erhält ein standardmäßiges Deno-Request-Objekt:
req.json()— JSON-Body parsenreq.text()— rohen Text-Body abrufenreq.headers— auf Request-Header zugreifenreq.method— HTTP-Methode
Response-Objekt
VerwendeResponse.json() für JSON-Antworten:
Vollständiges Beispiel
Verzeichnisstruktur
entry.ts
Service-Role-Zugriff verwenden
Für Admin-Operationen verwendeasServiceRole:
Secrets verwenden
Greife auf im App-Dashboard konfigurierte Umgebungsvariablen zu:Benennungskonventionen
- Verzeichnisname: Verwende kebab-case (z. B.
process-order,send-notification) - Funktionsname: Ergibt sich aus dem Verzeichnispfad unter
base44/functions/- Gültig:
process-order,orders/process,send_notification,myFunction - Ungültig:
process.order,send.notification.v2
- Gültig:
- Einstiegspunkt-Datei: Verwende
entry.tsoderentry.js
Funktionen deployen
Nach dem Erstellen deiner Funktion deploye sie zu Base44:Hinweise
- Funktionen laufen auf der Deno-Runtime, nicht Node.js
- Verwende das Präfix
npm:für npm-Pakete (z. B.npm:@base44/sdk) - Verwende
createClientFromRequest(req), um einen Client zu erhalten, der den Auth-Kontext des Aufrufers erbt - Konfiguriere Secrets über das App-Dashboard für API-Schlüssel
- Behandle Fehler ordentlich und gib passende HTTP-Statuscodes zurück
Häufige Fehler
| Falsch | Richtig | Warum |
|---|---|---|
base44/functions/myFunction.js (einzelne Datei) | base44/functions/my-function/entry.ts | Funktionen müssen in einem benannten Unterverzeichnis liegen |
base44/functions/entry.ts | base44/functions/my-function/entry.ts | Der Funktionsname ergibt sich aus dem Unterverzeichnispfad |
import { ... } from "@base44/sdk" | import { ... } from "npm:@base44/sdk" | Deno benötigt das npm:-Präfix für npm-Pakete |
Verzeichnis MyFunction oder myFunction | Verzeichnis my-function | Verwende kebab-case für Verzeichnisnamen |
Diese Seite wurde mit KI übersetzt. Für die genauesten und aktuellsten Informationen siehe die englische Version.

