Netlify
Différences avec Node/Bun
Section intitulée « Différences avec Node/Bun »| Node / Bun | Vercel / Netlify | |
|---|---|---|
| Config | chaîne routesDir | objet ServerlessConfig |
| Découverte des routes | loadRoutes() au démarrage | Manifest pré-compilé |
| Étape de build | Optionnelle | Requise (lacis build) |
Structure du projet
Section intitulée « Structure du projet »my-app/├── netlify/│ └── functions/│ └── api.ts ← point d'entrée de la fonction Netlify├── routes/│ ├── users/│ │ └── index.ts│ └── posts/│ └── [id]/│ └── index.ts└── netlify.tomlHandler de fonction
Section intitulée « Handler de fonction »// netlify/functions/api.tsimport { netlifyAdapter } from 'lacis/adapters'import { routes, middlewares } from '../../routes/_manifest.js'
const handler = netlifyAdapter.createHandler({ routes, middlewares })
export { handler }netlify.toml
Section intitulée « netlify.toml »[build] command = "lacis build" publish = "public"
[[redirects]] from = "/*" to = "/.netlify/functions/api" status = 200Définir command = "lacis build" régénère le manifest de routes à chaque déploiement automatiquement.
Flux de déploiement
Section intitulée « Flux de déploiement »-
Installez les dépendances :
Fenêtre de terminal npm install lacis @netlify/functions -
Committez votre fonction et la config :
Fenêtre de terminal git add netlify/ netlify.tomlgit commit -m "add lacis netlify handler" -
Déployez :
Fenêtre de terminal netlify deploy --prodNetlify récupère la commande de build depuis
netlify.tomlet régénère le manifest automatiquement.
Configuration optionnelle
Section intitulée « Configuration optionnelle »const handler = netlifyAdapter.createHandler({ routes, middlewares, cors: { origin: 'https://monapp.com', credentials: true }, hooks: { onNotFound: async (req, res) => { res.status(404).json({ error: 'Non trouvé', path: req.url }) }, },})