Vue3 Système de gestion des tâches

Ensuite, nous allons créer un système de gestion des tâches Vue3 pour consolider les points de connaissance appris précédemment.

  • Fonctionnalités principales: Tableau des tâches, filtrage par catégorie, persistance des données, bascule du mode sombre, design responsive.
  • Stack technique:Vue 3 (Script Setup) + Vite + Pinia + Vue Router + Element Plus + Tailwind CSS.

Contenu du tutoriel

Points de connaissance inclus dans le système de gestion des tâches :

Points d'apprentissage Importance pratique
API de composition S'affranchir de la fragmentation de l'Options API, organiser la logique par fonctionnalité.
Pinia Remplacer Vuex par une API plus simple et un meilleur support de TypeScript.
Composables Maîtriser l'idée la plus fondamentale de Vue 3 : l'« extraction de logique ».
Version 4.1 de Tailwind CSS La solution de style la plus populaire du frontend moderne, pour implémenter rapidement de belles UI.

Téléchargement du package de code source

Phase 1 : Architecture du projet et préparation de l'environnement

  • Configuration avancée de Vite: Configurer les alias de chemins@, plugins d'importation automatiqueunplugin-auto-import。
  • Standardisation du projet: Intégrer ESLint + Prettier + Husky, établir des standards de développement d'équipe.
  • Solution de style: Introduire Tailwind CSS pour mettre en œuvre un développement CSS atomique, en améliorant l'efficacité du développement d'interface utilisateur.

Phase 2 : Pratique approfondie avec la Composition API

  • Application du principe de réactivité: Comparerrefetreactivescénarios pratiques de (quand utiliser lequel ?).
  • Propriétés calculées et observateurs: Utilisercomputedpour implémenter un filtrage en temps réel de la liste de tâches, utiliserwatchEffectpour gérer async/sync.
  • Hooks de cycle de vie: Initialiser les données dansonMounted, nettoyer les minuteurs ou les écouteurs d'événements dansonUnmounted.

Phase 3 : Développement avancé de composants

  • Communication entre composants: MaîtriserdefineProps、defineEmitsetdefineExpose。
  • Injection de dépendances: Utiliserprovideetinjectpour résoudre le problème de transmission des props à travers des composants profondément imbriqués.
  • Slots: Utilisez des slots nommés et des slots scoped pour construire des composants "modal" et "list item" hautement réutilisables.
  • Composants asynchrones: UtilisezdefineAsyncComponentpour implémenter le chargement différé des routes et l'optimisation des performances.

Phase 4 : Gestion d'état et système de routage

  • Pinia en pratique:
  • ConstructionUserStoreetTaskStore。
  • implémenter un plugin de persistance (sauvegarder les tâches dans LocalStorage).
  • ComprendreStore To Refset son piège de déstructuration.
  • Vue Router avancé:
  • Configuration dynamique des routes et gardes de permissions (garde de connexion).
  • Champs de métadonnées de routemetaapplications (changement de titre, navigation par fil d'Ariane).

Phase 5 : Réutilisation de la logique et optimisation des performances

  • Composables personnalisés: Extraire la logique commune (commeuseLocalStorage、useNotification), permettant une véritable réutilisation du code.
  • Optimisation des performances:
  • ComprendreshallowRefetmarkRawgestion du rendu de gros volumes de données.
  • Utiliserv-onceetv-memodirective pour optimiser les listes longues.

Phase 6 : Déploiement de projet et mise en œuvre d'ingénierie

  • Gestion des variables d'environnement: Distinguer.env.developmentet.env.production。
  • Optimisation du build: Stratégie de découpage des chunks (Manual Chunks) et configuration de la compression Gzip.
  • Déploiement automatisé: Mettre en œuvre une intégration continue simple via GitHub Actions ou Docker.
Autres extensions