рдХреЛрдгреАрдп 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 , рд╣реИрд▓реЛ, рдореБрдЭреЗ рдХреЛрдгреАрдп 2 рдХреЗ рд╕рд╛рде рдХреЛрдИ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдпрд╣ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореЙрдбреНрдпреВрд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓рд╛ рдХреНрдпрд╛ рд╣реИ?
IMO, Vue/React рдЬреИрд╕реЗ рдврд╛рдВрдЪреЗ рдореЗрдВ, рд╡рд┐рдЪрд╛рд░ (рд▓рдЧрднрдЧ) рд╕рдм рдХреБрдЫ Component
рддрд░реАрдХреЗ рд╕реЗ рд╕реЛрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВ Module
рдмрдЬрд╛рдп рд╕рдордЧреНрд░ рдШрдЯрдХреЛрдВ рдХреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред
@jkzing рдЗрд╕реЗ рдФрд░ рдпрд╣рд╛рдВ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛
@patrickhousley , рдЖрдк рдЗрд╕ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ:
Vue Async рдЕрд╡рдпрд╡
Vue-рд░рд╛рдЙрдЯрд░ рдЖрд▓рд╕реА рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ
Vuex async рдореЙрдбреНрдпреВрд▓ (рдЕрднреА рддрдХ рдорд░реНрдЬ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛)
рд╕рднреА рдХреЗ рд╕рд╛рде рд╣реИ рдХрд┐ SSR рдФрд░ PWA рдХреЛрдб рдмрдВрдЯрд╡рд╛рд░реЗ рдФрд░ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдХреА рдПрдХ рдмрд╣реБрдд рд╣реА рдЖрд╕рд╛рди рддрдВрддреНрд░ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рд╣реИ рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдХреБрдЫ рдЕрднреНрдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@patrickhousley , рдЖрдк рдЗрд╕ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ:
Vue Async рдЕрд╡рдпрд╡
Vue-рд░рд╛рдЙрдЯрд░ рдЖрд▓рд╕реА рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ
Vuex async рдореЙрдбреНрдпреВрд▓ (рдЕрднреА рддрдХ рдорд░реНрдЬ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛)
рд╕рднреА рдХреЗ рд╕рд╛рде рд╣реИ рдХрд┐ SSR рдФрд░ PWA рдХреЛрдб рдмрдВрдЯрд╡рд╛рд░реЗ рдФрд░ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдХреА рдПрдХ рдмрд╣реБрдд рд╣реА рдЖрд╕рд╛рди рддрдВрддреНрд░ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рд╣реИ рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдХреБрдЫ рдЕрднреНрдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред