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