Comment créer des fonctions serverless ?
Ajoutez un dossier api/ à n'importe quel projet statique Hodifly : chaque fichier JavaScript qu'il contient devient un endpoint HTTP sous /api/ de votre propre domaine. Aucun fichier de configuration n'est nécessaire.
Routage
Un fichier, une URL. Le chemin du fichier décide de l'endpoint :
Fichier | URL |
|---|---|
|
|
|
|
|
|
Les chemins littéraux gagnent sur les paramètres [entre crochets], et les fichiers .js, .mjs et .cjs fonctionnent tous. Les fonctions TypeScript et Python ne sont pas prises en charge pour le moment : elles répondent 404, et le journal de déploiement le signale.
Écrire une fonction
Les deux styles de handler courants sont pris en charge, même mélangés dans un projet.
Signature classique (à la Express) :
// api/hello.js
export default function handler(req, res) {
// req.query, req.body (JSON et formulaires sont parsés), req.cookies
res.status(200).json({ hello: "world" });
}
Signature standard web :
// api/user/[id].js
export function GET(request) {
return Response.json({ ok: true });
}
module.exports = (req, res) => ..., les exports par méthode (GET, POST, ...) avec 405 automatique pour le reste, et export default { fetch(request) {...} } fonctionnent aussi. Vos fonctions peuvent importer des paquets de votre package.json : les dépendances installées pour le build sont disponibles à l'exécution.
Variables d'environnement et secrets
Les variables d'environnement du projet (Réglages avancés, chiffrées au repos, jamais envoyées à Hodi) sont accessibles dans vos fonctions via process.env.MA_VARIABLE. C'est l'endroit prévu pour les clés d'API : le code source des fonctions n'est jamais servi en statique, et demander un chemin source comme /api/hello.js répond 404.
Mis à jour le : 27/07/2026
Merci !