Apprenez à préparer et publier une application Vue 3 moderne : configuration de vite.config.ts, gestion de l'option base pour les sous-chemins, maîtrise du mode HTML5 History de Vue Router et optimisation du découpage de code.
Les fichiers .vue (template, script setup, styles) sont compilés en fonctions JavaScript pures et hautement optimisées.
Permet de configurer un sous-chemin d'hébergement (ex: base: '/mon-projet/' pour GitHub Pages) sans casser les liens.
Le chargement différé dynamique (import()) segmente l'application en petits chunks chargés uniquement au besoin.
createWebHistory() offre de belles URLs sans dièse (#), mais requiert une redirection côté serveur vers index.html.
// 1. Configuration vite.config.ts pour le déploiement import ); # 2. Exécution du build dans le terminal $ npm run build # 3. Prévisualisation locale exacte du bundle de production $ npm run preview # -> Local: http://localhost:4173/ (Permet de tester les routes avant déploiement cloud)
base Par défaut, Vite génère des balises de script absolues dans index.html du type <script src="/assets/index.js">.
Exemple : https://mon-application.com/
base: '/' (valeur par défaut) Le navigateur cherche les assets à la racine absolue du serveur. Fonctionne parfaitement sur Vercel, Netlify ou Render.
Exemple : https://mon-pseudo.github.io/mon-projet/
base: '/mon-projet/' Si vous oubliez ce réglage, le navigateur cherchera https://mon-pseudo.github.io/assets/index.js (qui n'existe pas) provoquant un écran blanc total !
Vue Router propose deux modes principaux d'historique de navigation :
URLs modernes et élégantes :
https://site.com/utilisateurs/profil Utilise l'API HTML5 history.pushState. Esthétique et optimal pour le référencement (SEO), mais requiert impérativement une règle de rewrite côté serveur redirigeant toutes les requêtes vers /index.html.
URLs avec ancre :
https://site.com/#/utilisateurs/profil La partie après le # n'étant jamais envoyée au serveur, aucune configuration de serveur n'est nécessaire. Cependant, les URLs sont moins professionnelles et le SEO est limité.
Ne forcez pas vos visiteurs à télécharger toute votre application dès la première visite sur la page d'accueil. Utilisez le découpage dynamique dans votre fichier router/index.ts :
Lors de npm run build, Vite génère un fichier JavaScript séparé pour ce composant (ex. AdminDashboard-7e2b.js) qui ne sera chargé qu'à la demande.
| Critère | HTML5 History (createWebHistory) | Hash Mode (createWebHashHistory) |
|---|---|---|
| Format des URLs | /dashboard/settings (propres et naturelles) | /#/dashboard/settings (présence d'un hash) |
| Configuration serveur requise | Oui (Rewrite vers /index.html obligatoire) | Non (Fonctionne même sur un simple serveur statique sans config) |
| Expérience utilisateur & SEO | Excellente (norme de l'industrie) | Moyenne (les moteurs de recherche indexent moins bien les fragments) |
| Cas d'usage recommandés | Applications professionnelles, SaaS, sites vitrines | Intranets fermés, tests rapides, environnements sans contrôle serveur |