Сразу к сути вопроса. На сколько я понял SPA приложения сразу же грузят все js, css, html, необходимые для работы всего приложения, MPA же обновляют js, css, html на каждой странице.
Допустим, мы имеем достаточно крупный SPA проект, что даже при переиспользовании компонентов и т.п., наш код весит относительно немало. Не значит ли это, что наш сайт, при первой загрузке, будет грузиться достаточно продолжительный отрезок времени?
Можно ли разбить такой проект на несколько SPA, которые будут внутри одного MPA? Если можно, то есть ли достаточные основания использовать js-фреймворки для создания "полностью" MPA?
Во Vue есть настройка history mode, однако, насколько я понял, оно не делает из SPA MPA, но почему с таким роутингом загруженный js, css, html не перезагружается при изменении url?
с Vue Router можно выделять компоненты для каждой «страницы» в отдельный чанк и загружать их при необходимости
const routes = [
{
path: '/qna',
name: 'QnA',
// route level code-splitting
// this generates a separate chunk (qna.[hash].js) for this route
// which is lazy-loaded when the route is visited.
component: () => import(/* webpackChunkName: "qna" */ '../views/QnA.vue')
},