本文首发: https://shudong.wang/10415.html
场景
当在vuex的modules全部需要加载的时候
rematch的 models 需要全部加载的时候
在某些场景
每个再需要手动引入到 状态管理里面,我们可以做下面的优化处理
loader.js
/**
* @author stark.wang
* @blog http://shudong.wang
* The file enables `models` to import all models
* in a one-shot manner. There should not be any reason to edit this file.
*/
const files = require.context('./models', false, /\.js$/)
const models = {}
files.keys().forEach(key => {
const filename = key.replace(/(\.\/|\.js)/g, '')
models[filename] = files(key)['default']
})
export default models
在rematch使用
import models from './loader'
init({
plugins: [loadingPlugin],
models
})
在vuex里面使用
import Vue from 'vue'
import Vuex from 'vuex'
import modules from './loader'
Vue.use(Vuex)
const debug = process.env.NODE_ENV !== 'production'
export default new Vuex.Store({
modules,
strict: debug
})
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。