什么是SPA单页面应用?有什么优点?

1,175 阅读2分钟

    SPA的全称(single-page-application)是单页面应用,意思就是说,应用的html,css,js只在web应用初始化的时候加载,加载完毕之后,不会重新渲染整个页面了。

    说起SPA单页面应用不得不说起多页面应用,我突然想起我上大学的时候上的一门课程《HTML》,我记得有一节课老师布置任务,让我们写一个主页,主页里面写四个超链接,分别可以跳转不同的页面,当然很简单。写一个home.html 页面里面写四个a标签,分别跳转到a.html,b.html,c.html,d.html里面即可,每次点击不同超链接的同事,会跳转到不同的html页面,相应的页面也会重新加载,如果网速卡一点,那么页面会自上至下的一点点加载出来,用户体验很不好,这就是多页面应用的一个简单例子。

    那么继续说SPA,SPA是怎么实现的呢?为什么不需要重新加载页面就能达到页面的重新渲染呢?是利用了 路由机制 使得html内容变换,达到不需要加载页面也可以达到重新渲染的目的。

    说道这里你可能会有疑问,路由机制是个什么东东,我会在后面的文章详细介绍。

    单页面的优点:

1,用户体验好,快,内容的改变不需要重新加载整个页面,基于这一点spa对服务器压力较小
2,前后端分离
3,页面效果会比较炫酷(比如切换页面内容时的专场动画)

单页面缺点:
1,不利于seo
2,导航不可用,如果一定要导航需要自行实现前进、后退。(由于是单页面不能用浏览器的前进后退功能,所以需要自己建立堆栈管理)
3,初次加载时耗时多
4,页面复杂度提高很多