1.单页面和多页面的区别?
单页面应用:
一个项目只有一个完整的html页面,其他都是部分的html片段组成。页面跳转只是局部刷新,不会重新加载全部资源。片段的切换,比较容易实现转场动画。
多页面应用:
一个项目由多个完整的html页面组成,页面跳转会将所有的资源重新加载,页面之间的切换会出现卡顿空白的问题,不容易实现切换动画等。
单页面 vs 多页面
单页面 | 多页面 | |
组成 | 由一个外壳页面和多页html片段组成 | 由多个完整的html页面组成 |
页面跳转 | 仅片段之间的切换,外壳页面共用 | 从一个完整的页面跳转到另一个完整的页面 |
刷新方式 | 页面片段局部刷新 | 整页刷新,加载所有资源 |
url模式 | a.com#home | a.com/home.html |
用户体验 | 页面间片段切换,用户体验好 | 页面切换慢,不流畅,体验差 |
页面间数据传递 | 依赖cookie,localStorage,url传值,实现麻烦 | 因为在同一页面,片段间传值方便 |
搜索引擎优化 | 需要单独方案,实现较为困难,不利于SEO | 可以直接实现,利于SEO |
使用范围 | 高要求的体验度,追求页面流畅的应用 | 高支持度的SEO应用 |
开发成本 | 较高,要用专业的框架 | 较低,但页面重复代码太多 |
维护成本 | 相对较低 | 不易维护 |