0x00说说对SPA的理解?

概览
概览

0x00 定义:

SPA:(single-page-application) : 一种网络应用程序或网站的模型。

通过动态重写当前页面来与用户交互;
避免了页面之间切换打断用户体验; 所有必要的代码(HTML、JavaScript和CSS)都通过单个页面的加载而检索,或者根据需要(通常是为响应用户操作)动态装载适当的资源并添加到页面,页面在任何时间点都不会重新请求加载,即为: 容器没变,变的是内容。

区分【别混淆】: SPA: 【Single-Page application】单页面应用,就是一个应用就是一个单独的页面 SFC:【Single-File Component】 单文件组件, 一个组件代码只写在一个文件中。

0x01 SPA原理

1)监听地址栏中的hash变化驱动界面变化
2)用pushstate记录浏览器的历史,驱动界面发生变化 实现原理图 hash模式:通过监听url中的hash来进行路由跳转
history模式:借助html5 history API,

history.pushState 浏览器历史纪录添加记录
history.replaceState修改浏览器历史纪录中当前纪录
history.popState 当 history 发生变化时触发

示例代码

0x02 SPA和MPA对比

alt

0x03 SPA做SEO

1)SSR 服务端渲染
将组建/页面通过服务器渲染为html在返回给浏览器: Vue中的nuxt.js, react中的next.js

2)静态化 主要是两种方案:
(1)通过程序将动态页面抓取并保存为静态页面,这样的页面的实际存在于服务器的硬盘中。
(2)【URL Rewrite】通过WEB服务器的 URL Rewrite的方式,它的原理是通过web服务器内部模块按一定规则将外部的URL请求转化为内部的文件地址。【把外部请求的静态地址转化为实际的动态页面地址,而静态页面实际是不存在的。这两种方法都达到了实现URL静态化的效果】

3)使用phantomjs针对爬虫处理
通过Nginx配置,判断如果是爬虫,就转到一个node server ,通过phantomjs来解析完成的html, 返回给爬虫。

SPA中的SEO优化方案参考

0x04 SPA启动渲染优化

主要:
1)减少入口文件体积
2)图片资源压缩,静态资源本地缓存
3)UI框架按需加载
4)使用SSR
....

主要参考web上的静态资源缓存参考前段性能优化24条建议


公众号: 技术小难

本文由 mdnice 多平台发布

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值