По
статье не подходит решение, т.к. все компоненты разбросаны по структуре в разным папках и модулях. Для этого создан отдельный файл в каждом модуле в котором перечислены все нужные компоненты для глобальной регистрации.
Идея была такая:
Приложение при сборке обходит папки модуля, в котором лежит файл с глобальными компонентами модуля, в виде объекта (ключ -> название, значение - расположение). Затем я подключаю файл с этим обьектом и перебираю его свойства, регистрируя компонент.
// Пример структуры файла одного из модулей
export default {
ModulePageItemsTypes: "./components/pages/items/ModulePageItemsTypes",
.....
}
Но когда я пытают циклом перебрать этот файл и зарегистрировать компоненты.
import globalComponents from './pathToModule/globals'
for (var key in globalComponents) {
// Вот так компонент регистрируется (если указывать путь строкой)
Vue.component(key, require('./components/pages/items/ModulePageItemsTypes').default);
// Если путь указан через переменную цикла, то при сборке выдает ошибку.
Vue.component(key, require(globalComponents[key]).default);
}
Или может есть более простой способ.