vuex-help
Version:
a utilies library reduce boilerplate for vuex
33 lines (24 loc) • 1.44 kB
Markdown
# Structure d'une application
Vuex ne vous restreint pas quand à la structure de code à utiliser. Il impose plutôt de respecter des principes de haut niveau :
1. L'état de l'application est centralisé dans le store.
2. La seule façon de muter l'état est d'acter des **mutations**, qui sont des transactions synchrones.
3. La logique asynchrone doit être composée et encapsulée dans des **actions**.
Tant que vous suivez ces règles, c'est à vous de structurer votre projet. Si votre fichier de store devient trop gros, commencez dès lors à séparer les actions, mutations et accesseurs dans des fichiers séparés.
Pour une application non triviale, nous aurons probablement besoin de faire appel à des modules. Voici un exemple de structure de projet :
``` bash
├── index.html
├── main.js
├── api
│ └── ... # abstraction pour faire des requêtes par API
├── components
│ ├── App.vue
│ └── ...
└── store
├── index.js # là où l'on assemble nos modules et exportons le store
├── actions.js # actions racine
├── mutations.js # mutations racine
└── modules
├── cart.js # module de panier
└── products.js # module de produit
```
Vous pouvez jeter à un œil à l'[exemple de panier d'achats](https://github.com/vuejs/vuex/tree/dev/examples/shopping-cart).