Vue: рдХреЛрдб рдЖрдзрд╛рд░ рдХреЛ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХрд╛ рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 4 рдЬреБрд▓ре░ 2017  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: vuejs/vue

рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХрд┐рд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддреА рд╣реИ?

рдХреЛрдгреАрдп 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 рд░рд╛рдЙрдЯрд░ рдФрд░ Vuex рдХреЛ рдЗрд╕рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@patrickhousley , рдЖрдк рдЗрд╕ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ:
Vue Async рдЕрд╡рдпрд╡
Vue-рд░рд╛рдЙрдЯрд░ рдЖрд▓рд╕реА рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ
Vuex async рдореЙрдбреНрдпреВрд▓ (рдЕрднреА рддрдХ рдорд░реНрдЬ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛)

рд╕рднреА рдХреЗ рд╕рд╛рде рд╣реИ рдХрд┐ SSR рдФрд░ PWA рдХреЛрдб рдмрдВрдЯрд╡рд╛рд░реЗ рдФрд░ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдХреА рдПрдХ рдмрд╣реБрдд рд╣реА рдЖрд╕рд╛рди рддрдВрддреНрд░ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рд╣реИ рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдХреБрдЫ рдЕрднреНрдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рднреА 4 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@patrickhousley , рд╣реИрд▓реЛ, рдореБрдЭреЗ рдХреЛрдгреАрдп 2 рдХреЗ рд╕рд╛рде рдХреЛрдИ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдпрд╣ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореЙрдбреНрдпреВрд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓рд╛ рдХреНрдпрд╛ рд╣реИ?

IMO, Vue/React рдЬреИрд╕реЗ рдврд╛рдВрдЪреЗ рдореЗрдВ, рд╡рд┐рдЪрд╛рд░ (рд▓рдЧрднрдЧ) рд╕рдм рдХреБрдЫ Component рддрд░реАрдХреЗ рд╕реЗ рд╕реЛрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВ Module рдмрдЬрд╛рдп рд╕рдордЧреНрд░ рдШрдЯрдХреЛрдВ рдХреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред

@jkzing рдЗрд╕реЗ рдФрд░ рдпрд╣рд╛рдВ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛

@patrickhousley , рдЖрдк рдЗрд╕ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ:
Vue Async рдЕрд╡рдпрд╡
Vue-рд░рд╛рдЙрдЯрд░ рдЖрд▓рд╕реА рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ
Vuex async рдореЙрдбреНрдпреВрд▓ (рдЕрднреА рддрдХ рдорд░реНрдЬ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛)

рд╕рднреА рдХреЗ рд╕рд╛рде рд╣реИ рдХрд┐ SSR рдФрд░ PWA рдХреЛрдб рдмрдВрдЯрд╡рд╛рд░реЗ рдФрд░ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдХреА рдПрдХ рдмрд╣реБрдд рд╣реА рдЖрд╕рд╛рди рддрдВрддреНрд░ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рд╣реИ рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдХреБрдЫ рдЕрднреНрдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

paceband picture paceband  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Jokcy picture Jokcy  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

lmnsg picture lmnsg  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

robertleeplummerjr picture robertleeplummerjr  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

6pm picture 6pm  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ