Vuex 的核心技术,需要记住的是编写 store 的顺序。案例简单,所以把 store 都写在了一个 index.js 文件中,这个对于小型的应用来说完全没有问题的。
很多企业级项目都是比较复杂的,如果把 store 逻辑都存放在一个 js 文件(想象一下一个 js 文件几千、上万行代码。。。),那维护起来可能会崩溃,比如说我们在网上买东西,这就至少涉及到了商品和购物车,如果这两个都写在一起,那么代码就很难阅读了,所以在 Vuex 中建议使用 Module 方案,也就是模块方案来维护 store.
配置 Vuex 模块
Vuex 模块简单来说就是把一个 store 文件分割成多个 js 文件,每个分割的文件就是一个模块,每个模块都拥有自己的 state、mutation、action、getter,甚至模块还可以嵌套子模块
多个模块在一个文件里
我们先看一下多个模块是怎么组合的,假定我们继续打开 store 目录下的 index.js 文件。
const moduleA = {
state: {
... },
mutations: {
... },
actions: {
... },
getters: {
... }
}
const moduleB = {
state: {
... },
mutations: {
... },
actions: {
... }
}
const store = new Vuex.Store(