Как импортировать все компоненты Vue из папки? - PullRequest
0 голосов
/ 24 января 2019

Я пытаюсь автоматически загрузить все компоненты моего vue из папки, который работает нормально, если я не использую vue " Async Components ".

Как только я пытаюсь использовать Async Components с import .. Я получаю эту ошибку:

10:11-36 Critical dependency: the request of a dependency is an expression

Мой код, который загружает все компоненты, которые генерируют эту ошибку:

const ComponentContext = require.context('./', true, /\.vue$/i);

ComponentContext.keys().forEach((componentFilePath) => {

    const componentName = componentFilePath.split('/').pop().split('.')[0];
    Vue.component(componentName, () => import(componentFilePath));

});

Как это исправить? или есть другой способ сделать это?

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Хорошо, мне нужно было добавить 'lazy' в:

const ComponentContext = require.context('./', true, /\.vue$/i, 'lazy');

и затем:

Vue.component(componentName, () => ComponentContext(componentFilePath));
0 голосов
/ 24 января 2019

Вместо

Vue.component(componentName, () => import(componentFilePath));

Попробуйте

Vue.component(componentName, ComponentContext(componentFilePath));

Или

Vue.component(componentName, ComponentContext(componentFilePath).default);

Не уверены в части по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...