Vindo do Angular 2, um dos recursos que realmente sinto falta é o uso de módulos para dividir minha base de código em unidades lógicas. Tecnicamente, ainda posso fazer isso no Vue fornecendo o seguinte como um componente do roteador:
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);
}
};
Isso funciona, mas acho que seria mais intuitivo se houvesse uma separação clara entre o que são um componente e um módulo Vue. Especificamente, um módulo não forneceria um método de renderização.
Tem havido um bom trabalho nesse sentido aqui . Também testei meu exemplo anterior de "módulo" aqui .
No final das contas, acho que podemos esperar algum suporte básico no Vue e então permitir que o Vue Router e a Vuex o estendam.
@patrickhousley , Olá, não tenho experiência com Angular 2, você pode tentar descrever o que exatamente é um módulo e qual é o caso de uso de exemplo para isso?
IMO, em estruturas como Vue / React, a ideia é tentar pensar (quase) tudo de maneira Component
. Portanto, prefiro compor componentes em vez de Module
.
@jkzing Depois de olhar mais para isso, eu concordaria. Acho que o que estou realmente procurando pode ser resolvido aqui . Honestamente, eu realmente só quero uma maneira de dividir meu aplicativo em partes de maneira limpa. O roteador já pode fazer isso, mas apenas no nível do componente. As rotas ainda precisam ser carregadas estaticamente, tornando o carregamento lento de grandes partes de um aplicativo um pouco problemático.
@patrickhousley , você pode dar uma olhada em:
Componentes Vue Async
Carregamento lento do Vue-router
Módulos assíncronos Vuex (ainda não mesclados)
Tudo isso com ssr e pwa resulta em um mecanismo muito útil de divisão de código e alto desempenho. Eu sei que é muito, mas fica muito fácil de usar se você praticar.
Comentários muito úteis
@patrickhousley , você pode dar uma olhada em:
Componentes Vue Async
Carregamento lento do Vue-router
Módulos assíncronos Vuex (ainda não mesclados)
Tudo isso com ssr e pwa resulta em um mecanismo muito útil de divisão de código e alto desempenho. Eu sei que é muito, mas fica muito fácil de usar se você praticar.