Исходя из Angular 2, одна из особенностей, которых мне очень не хватает, - это использование модулей для разделения моей кодовой базы на логические единицы. Технически я все еще могу сделать это во Vue, предоставив в качестве компонента маршрутизатора следующее:
import Vue from 'vue';
import { routes } from './routes';
export const LazyModule: Vue.ComponentOptions<Vue> = {
render: r => {
console.log('rendering');
return r('router-view');
},
created: function() {
this.$router.addRoutes(routes);
}
};
Это действительно работает, но я думаю, что было бы более интуитивно понятно, если бы было четкое разделение между компонентом Vue и модулем. В частности, модуль не предоставляет метод рендеринга.
С этой целью здесь была проделана хорошая работа. Кроме того, я тестировал мой предыдущий пример «модуль» здесь .
В конечном итоге, я думаю, мы могли бы ожидать некоторой базовой поддержки в Vue, а затем позволить Vue Router и Vuex расширить ее.
@patrickhousley , Здравствуйте, у меня нет опыта работы с Angular 2, не могли бы вы попытаться описать, что именно является модулем и каков пример его использования?
ИМО, в такой структуре, как Vue / React, идея пытается думать (почти) обо всем по Component
. Поэтому я предпочитаю составные компоненты, а не Module
.
@jkzing Посмотрев на это подробнее, я бы согласился. Я думаю, здесь можно разобраться с тем, что я действительно ищу. Честно говоря, мне просто нужен способ аккуратно разделить мое приложение на части. Маршрутизатор уже может это сделать, но только на уровне компонентов. Маршруты по-прежнему должны загружаться статически, что делает отложенную загрузку больших фрагментов приложения немного проблематичной.
@patrickhousley , вы можете взглянуть на:
Компоненты Vue Async
Ленивая загрузка Vue-router
Асинхронные модули Vuex (еще не объединены)
Все это с ssr и pwa приводит к очень удобному механизму разделения кода и высокой производительности. Я знаю, что это много, но им станет очень легко пользоваться, если немного попрактиковаться.
Самый полезный комментарий
@patrickhousley , вы можете взглянуть на:
Компоненты Vue Async
Ленивая загрузка Vue-router
Асинхронные модули Vuex (еще не объединены)
Все это с ssr и pwa приводит к очень удобному механизму разделения кода и высокой производительности. Я знаю, что это много, но им станет очень легко пользоваться, если немного попрактиковаться.