Première étape de notre grand projet final : mettez en ligne votre application cliente Angular ou React sur le réseau mondial Vercel en connectant votre dépôt GitHub, en configurant le build de production et en gérant le routage SPA sans erreur 404.
Détection automatique du framework (Angular/React/Next/Vue) et des scripts de compilation.
Configuration de 'npm run build' et du dossier de sortie 'dist/mon-projet/browser'.
Redirection universelle vers index.html pour garantir le rafraîchissement des routes clientes.
Attribution automatique d'un sous-domaine .vercel.app sécurisé par certificat SSL mondial.
// Configuration de production vercel.json pour application SPA (Angular / React) :
{
"version": 2,
"rewrites": [
{
"source": "/(.*)",
"destination": "/index.html"
}
],
"headers": [
{
"source": "/assets/(.*)",
"headers": [
{
"key": "Cache-Control",
"value": "public, max-age=31536000, immutable"
}
]
}
]
}
// Déploiement en ligne de commande via Vercel CLI (alternative au dashboard web) :
$ npm i -g vercel
$ vercel --prod
Inspect: https://vercel.com/mon-equipe/learnweb-frontend [1s]
Production: https://learnweb-frontend.vercel.app [18s]
✅ Deployed to 300+ Edge locations globally !dist/nom-du-projet/browser.NEXT_PUBLIC_API_URL ou la variable requise par votre projet.rewrites : Si votre visiteur accède directement à https://learnweb.vercel.app/cours/deploiement ou recharge la page, les serveurs de Vercel chercheront un fichier statique à ce chemin précis et renverront une page d'erreur 404 Vercel. La règle de réécriture force le serveur Edge à renvoyer index.html pour laisser le routeur JavaScript interne afficher la page !
| Framework Frontend | Commande de Build | Dossier de Sortie (Output Directory) | Fichier de Configuration SPA |
|---|---|---|---|
| Angular (v17/v18 Application) | ng build (ou npm run build) | dist/nom-projet/browser | vercel.json (rewrites) |
| React (Vite) | npm run build | dist | vercel.json (rewrites) |
| Vue.js (Vite) | npm run build | dist | vercel.json (rewrites) |
| Next.js (App Router) | next build | .next (géré automatiquement) | Intégré nativement sans configuration |