Vue: Обеспечьте первоклассную поддержку для разделения базы кода на модули

Созданный на 4 июл. 2017  ·  4Комментарии  ·  Источник: vuejs/vue

Какую проблему решает эта функция?

Исходя из 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 и модулем. В частности, модуль не предоставляет метод рендеринга.

Как выглядит предлагаемый API?

С этой целью здесь была проделана хорошая работа. Кроме того, я тестировал мой предыдущий пример «модуль» здесь .

В конечном итоге, я думаю, мы могли бы ожидать некоторой базовой поддержки в Vue, а затем позволить Vue Router и Vuex расширить ее.

Самый полезный комментарий

@patrickhousley , вы можете взглянуть на:
Компоненты Vue Async
Ленивая загрузка Vue-router
Асинхронные модули Vuex (еще не объединены)

Все это с ssr и pwa приводит к очень удобному механизму разделения кода и высокой производительности. Я знаю, что это много, но им станет очень легко пользоваться, если немного попрактиковаться.

Все 4 Комментарий

@patrickhousley , Здравствуйте, у меня нет опыта работы с Angular 2, не могли бы вы попытаться описать, что именно является модулем и каков пример его использования?

ИМО, в такой структуре, как Vue / React, идея пытается думать (почти) обо всем по Component . Поэтому я предпочитаю составные компоненты, а не Module .

@jkzing Посмотрев на это подробнее, я бы согласился. Я думаю, здесь можно разобраться с тем, что я действительно ищу. Честно говоря, мне просто нужен способ аккуратно разделить мое приложение на части. Маршрутизатор уже может это сделать, но только на уровне компонентов. Маршруты по-прежнему должны загружаться статически, что делает отложенную загрузку больших фрагментов приложения немного проблематичной.

@patrickhousley , вы можете взглянуть на:
Компоненты Vue Async
Ленивая загрузка Vue-router
Асинхронные модули Vuex (еще не объединены)

Все это с ssr и pwa приводит к очень удобному механизму разделения кода и высокой производительности. Я знаю, что это много, но им станет очень легко пользоваться, если немного попрактиковаться.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги