Zum Hauptinhalt springen
Die lokale Entwicklung ermöglicht es dir, dein Backend-Projekt auf deinem eigenen Rechner auszuführen, damit du Änderungen sofort testen, Daten überprüfen kannst, ohne die Produktion zu beeinflussen, und Probleme erkennst, bevor du veröffentlichst. Siehe Einrichtung für Voraussetzungen und Schritt-für-Schritt-Anleitungen.

Was lokal läuft

Der Dev-Server übernimmt diese Funktionen vollständig auf deinem Rechner:
  • Funktionen: Backend-Funktionen laufen lokal mit automatischem Neuladen bei Dateiänderungen.
  • Entitäten: Entity-Daten werden in einer lokalen In-Memory-Datenbank gespeichert. Schema-Änderungen werden automatisch übernommen.
  • Medien: Datei-Uploads werden lokal gespeichert.
  • Authentifizierung: Registrierung und Login mit E-Mail/Passwort laufen lokal.
Funktions-Automationen laufen nicht lokal.

Was weitergeleitet wird

Einige Funktionen werden noch nicht lokal behandelt. Wenn der Dev-Server eine Anfrage erhält, die er nicht bedienen kann, leitet er sie an deine veröffentlichte App weiter, damit der Aufruf weiterhin funktioniert. Der Server protokolliert jedes Mal eine Warnung, wenn dies geschieht. Zu den weitergeleiteten Funktionen gehören:
  • Authentifizierung: OAuth- und Social-Login-Routen werden zu Base44 umgeleitet, damit Session-Cookies korrekt funktionieren. E-Mail/Passwort-Auth läuft lokal.
  • Kern-Integrationen: Endpunkte wie SendEmail oder KI-Generierung werden weitergeleitet. Datei-Uploads sind die Ausnahme und laufen lokal.
  • Eigene Integrationen: API-Aufrufe, die über OpenAPI-Spezifikationen konfiguriert sind.
Das bedeutet, deine App funktioniert während der Entwicklung weiterhin Ende-zu-Ende. Funktionen, die lokal laufen, verwenden lokale Daten, und alles andere verwendet die Produktion.

Funktionen

Backend-Funktionen laufen lokal auf deinem Rechner. Du kannst sie aus deinem Frontend genau wie veröffentlichte Funktionen aufrufen.
  • Jede Funktion läuft als separater Deno-Prozess, der separat installiert werden muss.
  • Funktionen werden automatisch neu geladen, wenn du den Quellcode bearbeitest.
  • Funktionsausgaben werden direkt in deinem Terminal angezeigt. Du musst während der lokalen Entwicklung nicht base44 logs verwenden.
Wenn eine Anfrage den Dev-Server erreicht und an deine lokale Deno-Funktion weitergereicht wird, kann der Server Header hinzufügen oder normalisieren, damit deine Funktion denselben Kontext sieht wie in der Produktion:
  • Base44-App-Id: Wird aus dem eingehenden X-App-Id-Header gesetzt, wenn er vorhanden ist.
  • Base44-Service-Authorization: Wird aus dem eingehenden Authorization-Header gesetzt, wenn er vorhanden ist, damit Code, der den Service-Authorization-Header lokal liest, dem Verhalten in der Produktion entspricht.
  • Base44-Api-Url: Wird auf die Basis-URL deines Dev-Servers (Schema und Host) gesetzt, damit Funktionen Callbacks oder absolute URLs gegen den lokalen Server erstellen können.
Der ursprüngliche Authorization-Header wird unverändert weitergeleitet.
Die erste Anfrage an eine Funktion kann langsamer sein, da der Dev-Server den Prozess bei Bedarf startet. Nachfolgende Anfragen verwenden den laufenden Prozess wieder.

Entitäten

Entity-Operationen gehen an eine lokale In-Memory-Datenbank statt an die Remote-Datenbank. So kannst du Datensätze erstellen, lesen, aktualisieren und löschen, ohne deine Produktionsdaten zu beeinflussen.
  • Alle Daten werden im Speicher gehalten und gelöscht, wenn du den Dev-Server stoppst.
  • Schema-Änderungen werden automatisch übernommen. Das Ändern eines Entity-Schemas löscht alle In-Memory-Daten für diese Entität.
  • Echtzeit-Abonnements funktionieren lokal. Wenn dein Frontend entities.subscribe() verwendet, erhält es Ereignisse für lokale Entity-Änderungen.
  • Die User-Entität läuft lokal. Beim Start seedet der Dev-Server einen einzelnen Benutzerdatensatz mit deinen authentifizierten CLI-Anmeldedaten. Lese- und Aktualisierungsoperationen auf me funktionieren wie in der Produktion. Anfragen zum Erstellen oder Löschen von Benutzern werden stillschweigend ignoriert, was dem Verhalten in der Produktion entspricht, in dem direkte Benutzerverwaltung nicht erlaubt ist.

Medien

Datei-Uploads werden lokal verarbeitet, damit du Medienfunktionen testen kannst, ohne in den Produktionsspeicher hochzuladen. Dateien werden in einem temporären Verzeichnis gespeichert und beim Stoppen des Dev-Servers bereinigt. Die maximale Dateigröße beträgt 50 MB.

Authentifizierung

Registrierung und Login mit E-Mail/Passwort laufen lokal, wenn deine App das eingebaute Auth-System verwendet. OAuth- und Social-Login-Routen werden zu Base44 umgeleitet. So registrierst du einen neuen Benutzer während der Entwicklung mit E-Mail/Passwort-Auth:
  1. Rufe den Register-Endpunkt auf. Der Dev-Server gibt einen einmaligen Bestätigungscode in deinem Terminal aus, anstatt eine E-Mail zu senden.
  2. Sende den Code an den Verify-OTP-Endpunkt, um die Adresse zu bestätigen und den Benutzer anzulegen.
  3. Melde dich mit der registrierten E-Mail-Adresse und dem Passwort an.
Dein Entwicklerkonto (die E-Mail, die du für base44 login verwendet hast) kann sich mit einem beliebigen Passwort einloggen, ohne dass eine Registrierung erforderlich ist.
Vom lokalen Dev-Server ausgestellte Tokens sind nur lokal gültig. Sie sind mit einem anderen Secret als in der Produktion signiert, sodass deine veröffentlichte App sie ablehnt. Wenn du von der lokalen Entwicklung zu deiner veröffentlichten App wechselst, melde dich zuerst aus deiner lokalen Sitzung ab oder lösche deine Tokens aus deinem lokalen Browser-Speicher. Logge dich dann erneut über die veröffentlichte App ein, um einen gültigen Token zu erhalten.

Siehe auch

Diese Seite wurde mit KI übersetzt. Für die genauesten und aktuellsten Informationen siehe die englische Version.