当项目比较庞大, vuex 里面的操作过多,写在一个文件的操作,可读性会越来越差,这个时候为了解耦我们采用模块化的方法,具体步骤如下

1.模块化之基本使用

  • 模块化目录 ``` |—Sotre |—module
    1. |--user.js
    2. |----user.js
    3. |----setting.js

|——index.js

  1. <a name="nTkxO"></a>
  2. ## 2.模块化之跨模块调用
  3. <a name="SJ3xh"></a>
  4. ## 3. 模块化之批量引入
  5. ```javascript
  6. /*
  7. * @Author: wangchaoxu
  8. * @Date: 2020-03-29 12:53:34
  9. * @LastEditors: wangchaoxu
  10. * @LastEditTime: 2020-10-09 11:41:10
  11. * @Description:
  12. */
  13. import Vue from 'vue';
  14. import Vuex from 'vuex';
  15. import createVuexAlong from 'vuex-along';// 持久化储存插件
  16. const files = require.context('./modules', false, /\.js$/);
  17. const modules = {};
  18. files.keys().forEach(key => {
  19. modules[key.replace(/(\.\/|\.js)/g, '')] = files(key).default;
  20. });
  21. Object.keys(modules).forEach(key => {
  22. modules[key]['namespaced'] = true;
  23. });
  24. const store = new Vuex.Store({
  25. state: {
  26. config: { },
  27. account: {},
  28. stations: [],
  29. },
  30. modules,
  31. plugins: [
  32. /* 经过测试发现如果vuex中的数据发生改变后,localStorage中相对应的数据也会跟着发生改变 */
  33. createVuexAlong({
  34. name: 'weidun',
  35. local: { list: ['account', 'stations'] },
  36. }),
  37. ],
  38. });
  39. export default store;