一、概念
SPA(single-page application):通过动态重写当前页面来与用户交互
代码通过单个页面的加载而检索,或者动态装载适当的资源并添加到页面
JS框架如 react, vue, angular, ember 都属于SPA
二、SPA和MPA的区别
MPA(MultiPage-page application):每个页面都是独立的( 都需要重新加载html、css、js文件,公共文件则根据需求按需加载 )
三、 优缺点
优点:
1)具有桌面应用的即时性、网站的可移植性和可访问性
2)用户体验好、快,内容的改变不需要重新加载整个页面
3)良好的前后端分离,分工更明确
缺点:
1)不利于搜索引擎的抓取
2)首次渲染速度相对较慢
四、实现
- 原理:
1)监听地址栏中hash变化驱动界面变化
2)用pushstate记录