Un peu de refacto
[Début de la branche step-4]
Changeons l'architecture du projet en mettant en place un routing :
app
│ app.component.ts
│ app.routing.ts
│ app.module.ts
└───store
└───modules
└───todo-list
│ todo-list.module.ts
│ todo-list.component.ts
| todo-list.routing.ts
└───components
└───all-todos
│ │ all-todos.component.ts
└───select-todo
│ select-todo.component.tsCi-dessous, une configuration de routing afin de charger notre module TodoListModule en lazy-loading avec le loadChildren.
app.routing.ts
Dans le AppModule, on peut déplacer les dépendances des formulaires vers TodoListModule :
app.module.ts
Migrer tout le contenu du AppComponent vers AllTodosComponent. Il ne reste que la balise router-outlet : /app.component.ts
Le fichier du routing pour le module TodoList :
modules/todo-list/todo-list.routing.ts
Et le fichier du module TodoList :
modules/todo-list/todo-list.module.ts
Le TodoListComponent servira juste de lien entre nos deux autres components avec un autre router-outlet :
modules/todo-list/todo-list.component.ts
Le component qui contiendra la liste de todos :
modules/todo-list/components/all-todos/all-todo.component.ts
@Alias
On remarque que dans la nouvelle architecture, le dossier store/ est très loin de nos composants ce qui crée beaucoup de "../". Pour y remédier, utilisez des alias via le tsconfig.json :
tsconfig.json
Avec cette configuration, plus besoin de "../" :
modules/todo-list/components/all-todos/all-todo.component.ts
Si votre IDE indique une erreur, redémarrez-le. Le point refacto est terminé. Passons à la mise à jour des todos.
Last updated
Was this helpful?