Vuexx 并不限制你的代码结构。但是,它规定了一些需遵守的规则:

    1. 应用层级的状态应该集中到单个 store 对象中。
    2. 提交 mutation 是更改状态的唯一方法,并且这个过程是同步的
    3. 异步逻辑都应该封装到 action 里面。

    只要你遵守以上规则,如何组织代码随你便。 如果你的 store 文件太大,只需将 action、mutation 和 getter分割到单独的文件。

    对于大型应用,我们会希望把Vuex相关代码分割到 模块中。 下面是项目结构示例:

    1. |一 index.html
    2. |一 main.js
    3. |一 api
    4. | |_ ... 抽取出API请求
    5. |—— components
    6. | |_ App.vue
    7. | |_ ...
    8. |__ store
    9. |—— index.js 我们组装模块并到处 store 的地方
    10. |—— actions.js 根级别的 action
    11. |—— mutations.js 根级别的 mutation
    12. |—— modules
    13. |—— cart.js 购物车模块
    14. |—— products.js 产品模块