Vue: Fournir un support de première classe pour diviser la base de code en modules

Créé le 4 juil. 2017  ·  4Commentaires  ·  Source: vuejs/vue

Quel problème cette fonctionnalité résout-elle ?

Venant d'Angular 2, l'une des fonctionnalités qui me manque vraiment est l'utilisation de modules pour diviser ma base de code en unités logiques. Techniquement, je peux toujours le faire dans Vue en fournissant ce qui suit en tant que composant de routeur :

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);
  }
};

Cela fonctionne, mais je pense que ce serait plus intuitif s'il y avait une séparation claire entre ce que sont un composant et un module Vue. Plus précisément, un module ne fournirait pas de méthode de rendu.

A quoi ressemble l'API proposée ?

Il y a eu du bon travail à cette fin ici . J'ai également testé mon exemple précédent de "module" ici .

En fin de compte, je pense que nous pourrions nous attendre à un support de base dans Vue, puis permettre à Vue Router et Vuex de l'étendre.

Commentaire le plus utile

@patrickhousley , vous pouvez jeter un oeil à:
Composants Vue Async
Chargement paresseux du routeur Vue
Modules asynchrones Vuex (pas encore fusionnés)

Tout cela avec ssr et pwa se traduit par un mécanisme très pratique de fractionnement de code et de hautes performances. Je sais que c'est beaucoup, mais cela devient vraiment facile à utiliser si vous avez un peu de pratique.

Tous les 4 commentaires

@patrickhousley , Bonjour, je n'ai aucune expérience avec Angular 2, pouvez-vous s'il vous plaît essayer de décrire ce qu'est exactement un module et quel est un exemple de cas d'utilisation pour cela?

IMO, dans un cadre comme Vue/React, l'idée est d'essayer de penser (presque) tout de manière Component . Je préfère donc composer des composants plutôt qu'avec Module .

@jkzing Après avoir examiné cela plus en détail, je serais d'accord. Je pense que ce que je recherche vraiment pourrait être traité ici . Honnêtement, je veux juste un moyen de diviser proprement mon application en morceaux. Le routeur peut déjà le faire, mais uniquement au niveau des composants. Les routes doivent toujours être chargées de manière statique, ce qui rend le chargement paresseux de gros morceaux d'une application un peu problématique.

@patrickhousley , vous pouvez jeter un oeil à:
Composants Vue Async
Chargement paresseux du routeur Vue
Modules asynchrones Vuex (pas encore fusionnés)

Tout cela avec ssr et pwa se traduit par un mécanisme très pratique de fractionnement de code et de hautes performances. Je sais que c'est beaucoup, mais cela devient vraiment facile à utiliser si vous avez un peu de pratique.

Cette page vous a été utile?
0 / 5 - 0 notes