Vuexx 并不限制你的代码结构。但是,它规定了一些需遵守的规则:
- 应用层级的状态应该集中到单个 store 对象中。
- 提交 mutation 是更改状态的唯一方法,并且这个过程是同步的
- 异步逻辑都应该封装到 action 里面。
只要你遵守以上规则,如何组织代码随你便。 如果你的 store 文件太大,只需将 action、mutation 和 getter分割到单独的文件。
对于大型应用,我们会希望把Vuex相关代码分割到 模块中。 下面是项目结构示例:
|一 index.html|一 main.js|一 api| |_ ... 抽取出API请求|—— components| |_ App.vue| |_ ...|__ store|—— index.js 我们组装模块并到处 store 的地方|—— actions.js 根级别的 action|—— mutations.js 根级别的 mutation|—— modules|—— cart.js 购物车模块|—— products.js 产品模块
