Cours Angular · Module 3: Modules
L'organisation du code dans les grands projets
Dans cette leçon3
Dans les grands projets, l'organisation est essentielle - tout comme dans l'armée du shogun, chacun doit connaître sa place.
Barrel Exports (index.ts)
1// features/samurai/index.ts
2export * from './samurai.component';
3export * from './samurai.service';
4export * from './samurai.model';
5export * from './components/samurai-card.component';
6
7// Utilisation - un seul import au lieu de plusieurs
8import {
9 SamuraiComponent,
10 SamuraiService,
11 SamuraiCardComponent
12} from './features/samurai';Conventions de nommage
1feature.component.ts # Component
2feature.component.html # Template
3feature.component.scss # Styles
4feature.component.spec.ts # Tests
5
6feature.service.ts # Service
7feature.guard.ts # Guard
8feature.directive.ts # Directive
9feature.pipe.ts # Pipe
10feature.module.ts # Module (legacy)
11feature.routes.ts # Routes (standalone)Bonnes pratiques
- Un composant = un dossier (avec les fichiers associés)
- Regroupe par fonctionnalité, pas par type
- Utilise les barrel exports pour des imports plus propres
- Core pour les singletons, Shared pour les éléments réutilisables
- Lazy loading pour les feature modules
- 400 lignes maximum par fichier de composant
Tu as repéré une erreur dans cette leçon ?
Teste tes connaissances
Réponds aux questions de cette leçon. Choisis une réponse pour voir tout de suite si elle est correcte.
1. Qu'est-ce qu'un « barrel export » dans le contexte de l'organisation du code Angular ?
2. Quel principe d'organisation du code est recommandé dans les grands projets Angular ?
Voici 2 des 3 questions de cette leçon. Réponds aux autres dans le jeu.
Tâches pratiques dans le jeu
- Tri horizontal
Ordonne les éléments d'une ligne de barrel export qui réexporte tout depuis un fichier de composant :
- Tri vertical
Ordonne les fichiers d'un répertoire de composant typique (composant, template, styles, tests) :
- Clique dans l'ordre
Clique sur les éléments dans l'ordre pour construire le début d'un barrel export : export * from