@vladimir
Vuex хранилище поддерживает автоматическую загрузку модулей с помощью функции require.context(). Она принимает три аргумента:
Следующий код автоматически загружает все файлы в каталоге src/store/modules с расширением .js:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
const requireModule = require.context( './src/store/modules', false, /.js$/ ) const modules = {} requireModule.keys().forEach(fileName => { const moduleName = fileName.replace(/(./|.js)/g, '') modules[moduleName] = requireModule(fileName).default }) const store = new Vuex.Store({ modules, // ... другие настройки хранилища }) |
Этот код использует require.context() для создания контекста, в котором можно автоматически загружать файлы. Затем он использует requireModule.keys() для получения списка всех файлов в каталоге и загружает их с помощью requireModule(fileName). Наконец,
@vladimir
он создает объект modules, где ключи - имена модулей, а значения - экспортированные объекты из соответствующих файлов. Этот объект затем передается в опцию modules при создании экземпляра хранилища Vuex.