一、对SPA的理解?
理解基本概念 ·SPA(single-page application)单页应用,默认情况下我们编写 Vue、React 都只有一个html 页面,并且提供一个挂载点,最终打包后会再此页面中引入对应的资源。 (页面的渲染全部是由JS动态进行渲染的)。切换页面时通过监听路由变化,渲染对应的页面 client Side Rendering,客户端染 CSR
MPA(Multi-page application)多页应用,多个html页面。每个页面必须重复加载,js,css 等相关资源。
(服务端返回完整的 html,同时数据也可以再后端进行获取一并返回“模板引擎“)。多页应用跳转需要整页资源刷新。Server side
Rendering,服务器端渲染 SSR 如何分清在哪渲染:HTML 是在前端动态生成的“客户端染”,在服务端处理好并返回的是“服务端渲染。
优缺点
单页面应用 (SPA) | 多页面应用(MPA) | |
---|---|---|
组成 | 一个主页面和页面组件 | 多个完整的页面 |
刷新方式 | 局部刷新 | 整页刷新 |
SEO搜索引擎优化 | 无法实现 | 容易实现 |
页面切换 | 速度快,用户体验良好 | 切换加载资源,速度慢,用户体验差 |
维护成本 | 相对容易 | 相对复杂 |
用户体验好、快,内容的改变不需要重新加载整个页面,服务端压力小
二、对SPA的理解?
.谈一谈对 vue组件化的理解
webcomponent 组件化的核心组成: 模板、属性、事件、插槽、生命周期组件化好处:高内聚、可重用、可组合
。组件化开发能大幅提高应用开发效率、测试性、复用性等;
。降低更新范围,只重新渲染变化的组件;
补充:
。Vue中的每个组件都有一个染函数watcher、effect.
。数据是响应式的,数据变化后会执行watcher或者effect。
。组件要合理的划分,如果不拆分组件,那更新的时候整个页面都要重新更新。
如果过分的拆分组件会导致watcher、effect产生过多也会造成性能浪费