# SPA 的理解

  • 单页应用 Single-Page-Application
    在WEB页面初始化时一同加载Html JS Css。一旦页面加载完成,SPA 不会因为用户操作而进行页面重新加载或跳转,
    而是利用路由机制实现html内容的变换

# 优点

  • 良好的用户体验,内容更改无需重载页面

  • SPA 相对服务端压力更小

  • 前后端职责分离,架构清晰

# 缺点

  • 单页面应用,需在加载渲染页面时请求 JS Css ,所以耗时更多

  • 由于前端渲染,搜索引擎不会解析JS,只能抓取首页未渲染的模板,不利于SEO

  • 由于单页面应用需要在一个页面显示所有的内容,默认不支持浏览器前进后退,实际 前端路由机制
    解决了单页应用无法前进后退的问题。Hash模式中hash变化会被浏览器记录(onhashchange事件),
    History模式利用H5新增的 pushState 和 replaceState 方法可改变浏览器历史记录栈