это просто теоретический вопрос. Например, я получил приложение в Vue.js с библиотекой пользовательского интерфейса Element, которое предлагает мне загружать компонент по требованию.
https://element.eleme.io/#/en-US/component/quickstart#on-demand
По этим инструкциям компоненты загружаются при запуске приложения и регистрируются глобально до конца времени .. :)
Есть ли способ ленивой загрузки каждого из них при первом использовании?
Мне известно, что я могу импортировать каждый из компонентов Element каждый раз вручную в целевом представлении или компоненте, и там есть дело с отложенной загрузкой, но мне просто интересно, есть ли шанс сделать это в main.js.
import Vue from 'vue';
import App from './App.vue';
import Button from 'element-ui';
import Option from 'element-ui';
import Select from 'element-ui';
// I believe this is working, but is automatically invoked in next lines
// const Button = () => import('element-ui');
// const Option = () => import('element-ui');
// const Select = () => import('element-ui');
Vue.use(Button);
Vue.use(Option);
Vue.use(Select);
// Maybe something like this, but seems not to work
// Vue.component('Button', () => import('element-ui'));
// Vue.component('Option', () => import('element-ui'));
// Vue.component('Select', () => import('element-ui'));
new Vue({
render: h => h(App)
}).$mount('#app')
Итак, это просто глупый вопрос или мы можем иметь глобально зарегистрированные компоненты, которые лениво загружаются в Vue.js?
Спасибо за все ваши мысли и советы!