美文网首页
vue入门(二)vuex动态导入依赖

vue入门(二)vuex动态导入依赖

作者: 走码人 | 来源:发表于2021-12-17 13:56 被阅读0次

vuex下利用 require.context()动态加载依赖

import Vue from 'vue'
import Vuex from 'vuex'

import getters from './getters'

Vue.use(Vuex)
const modules={}

/**
 * 遍历-./modules目录下的所有js文件,自动组装modules
 * 例如:下的文件结构如下所示
 * ./modules/user.js
 * ./modules/xxx/Page.js
 * 输出结果为:
 * modules={
 * user,
 * Page
 * }
 * 注意事项
 * 依赖js文件名,js文件名不能重复,需要时唯一的
 */
const modulesFiles = require.context('./modules', true, /\.js$/)
modulesFiles.keys().forEach(key => {
  //截取名字
  const moduleName=key.replace(/(.*\/)*([^.]+).*/ig,"$2");;
  //通过 context(key)导出文件内容。在文件中时通过 export.default 导出的,所以后边加.default
  const fileModule = modulesFiles(key).default;
  //TODO namespaced-命名空间属性此处不能为true,还未闹明白待优化
  //
  modules[moduleName] = {
      ...fileModule,
      //namespaced: true,  
  };
});

const store = new Vuex.Store({
  modules: modules,
  getters
})
export default store

相关文章

网友评论

      本文标题:vue入门(二)vuex动态导入依赖

      本文链接:https://www.haomeiwen.com/subject/zhjifrtx.html