Créer des fonctions
Les fonctions Base44 sont des fonctions backend serverless qui s’exécutent sur Deno. Elles sont définies localement dans votre projet et déployées vers le backend Base44.Répertoire des fonctions
Toutes les définitions de fonctions doivent être placées dans le dossierbase44/functions/ de votre projet. La fonction la plus simple est un dossier avec un fichier entry.ts ou entry.js à l’intérieur.
Structure d’exemple :
Comment créer une fonction
- Créez un nouveau répertoire dans
base44/functions/avec le nom de votre fonction (utilisez kebab-case) - Créez
entry.ts(ouentry.js) dans ce répertoire - Déployez la fonction avec le CLI
Découverte des fonctions
Le CLI découvre les fonctions à partir des fichiersentry.ts ou entry.js. Un dossier contenant l’un de ces fichiers est une fonction :
| Fichier | Nom de la fonction |
|---|---|
base44/functions/process-order/entry.ts | process-order |
base44/functions/orders/process/entry.ts | orders/process |
entry.tsouentry.jsdoit se trouver dans un sous-dossier nommé, pas directement dansbase44/functions/- tous les fichiers
*.js,*.tset*.jsonsous le dossier de la fonction sont inclus lors du déploiement - les chemins de fonctions comportant un point dans un segment sont ignorés
Fichier d’entrée
Les fonctions s’exécutent sur Deno et doivent exporter viaDeno.serve(). Utilisez le préfixe npm: pour les paquets npm.
Objet Request
La fonction reçoit un objet DenoRequest standard :
req.json()- Parser le corps JSONreq.text()- Obtenir le corps texte brutreq.headers- Accéder aux en-têtes de la requêtereq.method- Méthode HTTP
Objet Response
Retournez avecResponse.json() pour des réponses JSON :
Exemple complet
Structure du répertoire
entry.ts
Utiliser l’accès service role
Pour les opérations administrateur, utilisezasServiceRole :
Utiliser des secrets
Accédez aux variables d’environnement configurées dans le tableau de bord de l’application :Conventions de nommage
- Nom du répertoire : utilisez le kebab-case (par exemple,
process-order,send-notification) - Nom de la fonction : provient du chemin du répertoire sous
base44/functions/- Valides :
process-order,orders/process,send_notification,myFunction - Invalides :
process.order,send.notification.v2
- Valides :
- Fichier d’entrée : utilisez
entry.tsouentry.js
Déployer les fonctions
Après la création de votre fonction, déployez-la vers Base44 :Remarques
- Les fonctions s’exécutent sur le runtime Deno, pas Node.js
- Utilisez le préfixe
npm:pour les paquets npm (par exemple,npm:@base44/sdk) - Utilisez
createClientFromRequest(req)pour obtenir un client qui hérite du contexte d’authentification de l’appelant - Configurez les secrets via le tableau de bord de l’application pour les clés API
- Gérez les erreurs proprement et retournez les codes de statut HTTP appropriés
Erreurs courantes
| Mauvais | Correct | Pourquoi |
|---|---|---|
base44/functions/myFunction.js (fichier unique) | base44/functions/my-function/entry.ts | Les fonctions doivent se trouver dans un sous-répertoire nommé |
base44/functions/entry.ts | base44/functions/my-function/entry.ts | Le nom de la fonction provient du chemin du sous-répertoire |
import { ... } from "@base44/sdk" | import { ... } from "npm:@base44/sdk" | Deno exige le préfixe npm: pour les paquets npm |
Répertoire MyFunction ou myFunction | Répertoire my-function | Utilisez le kebab-case pour les noms de répertoires |
Cette page a été traduite à l’aide de l’IA. Pour les informations les plus précises et à jour, consultez la version anglaise.

