一、SPA 单页面
SPA [single-page application] 即一个 web 项目就只有一个页面[即一个 HTML 文件, HTML 内容的变换是利用路由机制实现的。]
仅在 Web 页面初始化时加载相应的 HTML 、 JavaScript 和 CSS。一旦页面加载完成, SPA 不会因为用户的操作而进行页面的重新加载或跳转; 取而代之的是利用路由机制实现 HTML 内容的变换,UI 与用户的交互,避免页面的重新加载。
优点:
- 用户体验好、快,内容的改变不需要重新加载整个页面,避免了不必要的跳转和重复渲染。
- 基于上面一点,SPA 相对对服务器压力小。
- 前后端职责分离,架构清晰,前端进行交互逻辑,后端负责数据处理。
缺点:
- 初次加载耗时多:为实现单页 Web 应用功能及显示效果,需要在加载页面的时候将 JavaScript 、 CSS 统一加载,部分页面按需加载;
- 前进后退路由管理:由于单页应用在一个页面中显示所有的内容,所以不能使用浏览器的前进后退功能,所有的页面切换需要自己建立堆栈管理;
- SEO 难度较大:由于所有的内容都在一个页面中动态替换显示,所以在 SEO 上其有着天然的弱势。