@atachrus

Как глобально зарегистрировать компоненты, в цикле?

По статье не подходит решение, т.к. все компоненты разбросаны по структуре в разным папках и модулях. Для этого создан отдельный файл в каждом модуле в котором перечислены все нужные компоненты для глобальной регистрации.

Идея была такая:
Приложение при сборке обходит папки модуля, в котором лежит файл с глобальными компонентами модуля, в виде объекта (ключ -> название, значение - расположение). Затем я подключаю файл с этим обьектом и перебираю его свойства, регистрируя компонент.
// Пример структуры файла одного из модулей 
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);
}

Или может есть более простой способ.
  • Вопрос задан
  • 49 просмотров
Пригласить эксперта
Ответы на вопрос 1
@IlonMusk
Попробуйте require(`${globalComponents[key]}`).default)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы