首页 > 其他分享 >关于 Web 应用的 Prerender 策略

关于 Web 应用的 Prerender 策略

时间:2023-05-16 18:47:38浏览次数:43  
标签:Web Prerender 策略 index 用户 html 文件 路由 页面

对于一些小型 Web 应用程序而言,强制使用服务器渲染(Server side render)可能会成为一种障碍。这时,预渲染可能是一个非常好的替代选择。

Prerender 的一种解决方案是使用 Preact 及其自己的 CLI.

它允许您编译所有预先选择的路由,以便将完全填充的 HTML 文件存储到静态服务器上。这样,就可以在不需要 Node.js 的情况下通过 Preact/React 水合(hydration)功能为用户提供超快的体验。

不过,需要注意的是,由于这不是服务器渲染,因此此时没有用户特定的数据可以显示,只是以静态文件的形式直接发送第一个请求。因此,如果您有用户特定的数据,需要在此处集成一个精美设计的 skeleton 来向用户展示其数据即将到来。

为了让这种预渲染技术发挥作用,还需要有一个代理或者其他的机制将用户重定向到正确的文件。

其原因是,在单页应用中,需要将所有的请求都重定向到根文件,然后框架通过内置的路由系统将用户重定向到相应的页面。所以第一次页面加载总是相同的根文件。

为了让预渲染解决方案发挥作用,你需要告诉你的代理某些路由需要特定的文件,而不是总是根目录下的index.html文件。

例如,假设你有四个路由(/、/about、/jobs 和/blog),它们都有不同的布局。你需要四个不同的HTML文件来向用户传递骨架,然后让React/Preact等重构它并填充数据。因此,如果你将所有这些路由都重定向到根目录下的index.html文件,页面在加载时会感觉很不好,用户会看到错误页面的骨架,直到它完成加载并替换布局。例如,用户可能会看到只有一个列的主页骨架,而他们请求的是一个像 Pinterest 一样的画廊页面。

解决方案是告诉代理这四个路由每个都需要一个特定的文件:

标签:Web,Prerender,策略,index,用户,html,文件,路由,页面
From: https://www.cnblogs.com/sap-jerry/p/17406482.html

相关文章

  • centos7.9安装部署datax和dataxweb
    安装包,里面有mysql、jdk、datax、datax-web的安装包全部下载链接:https://pan.baidu.com/s/1ESNn2Y71vq5SlOnypaUloA提取码:cuto1、安装jdk(jdk1.8)#把jdk上传解压#配置环境变量vim/etc/profule#把JAVA_HOME改成自己的jdk地址#jdkexportJAVA_HOME=/usr/local/java/jdk1.8......
  • threejs webgl性能优化
    threejswebgl性能优化WEBGL性能优化的方法有很多,以下是一些常见的方法:减少渲染次数:在WEBGL中,渲染次数越少,性能越好。因此,您可以通过减少渲染次数来提高性能。例如,使用批处理技术将多个对象合并为一个批处理对象进行渲染。降低纹理分辨率:纹理分辨率越高,渲染的时间就越长。......
  • buuctf [第二章 web进阶]XSS闯关
    本题每一关都需要我们使用alert弹窗level1URL为http://7db5b895-7c64-4b97-a85e-bc011762312f.node4.buuoj.cn:81/level1?username=xss查看源码可知get传的username直接被输出所以直接注入js代码即可?username=<script>alert(1)</script>level2level2对输入的username......
  • BY组态-低代码web可视化组件
    简介BY组态是贵州九元四方科技完全自主研发的集实时数据展示、动态交互等一体的全功能可视化平台。帮助物联网、工业互联网、电力能源、水利工程、智慧农业、智慧医疗、智慧城市等场景快速实现数字孪生、大屏可视化、Web组态、SCADA等解决方案。具有实时监控、多样、变化、动态交......
  • 用QWebsocket时关于信号槽的一个坑
    https://blog.csdn.net/zerolity/article/details/94746977 坑描述:connect(&m_webSocket,&QWebSocket::textMessageReceived,this,&BWebsocket::onTextMessageReceived);1和主机通过websocket通信。接收主机发的指令有时导致重复接收。信号发送者和接受者同一线程。onTe......
  • 学习Web前端有什么好方法吗?
    很多人想要学习Web前端,但是又不知道从何入手。事实上,想要学好Web前端,掌握正确的学习方法很重要。为大家具体讲解一下,学习Web前端需要掌握的学习方法有哪些。 一、了解什么是Web前端 所谓“知己知彼,百战不殆”,在学习Web前端之前,首先应该了解什么是Web前端。所有的用户终端产品与视......
  • STM32bms动力电池管理系统仿真 Battery Simulink电池平衡控制策略模型
    STM32bms动力电池管理系统仿真BatterySimulink电池平衡控制策略模型动力电池管理系统仿真BMS+BatterySimulink控制策略模型,动力电池物理模型,需求说明文档。BMS算法模型包含状态切换模型、SOC估计模型(提供算法说明文档)、电池平衡模型、功率限制模型等,动力电池物理模型包......
  • 纯电动车VCU控制策略模型 量产模型,包含纯电动汽车完整控制策略模块,详
    纯电动车VCU控制策略模型量产模型,包含纯电动汽车完整控制策略模块,详细见图片。没有说明文档,模型结构清楚,容易理解。ID:8150676345243068......
  • OData WebAPI实践-与ABP vNext集成
    本文属于OData系列文章ABP是一个流行的ASP.NET开发框架,旧版的的ABP已经能够非常好的支持了OData,并提供了对应的OData包。ABPvNext是一个重新设计的,面向微服务的框架,提供了一些非常有用的特性,包括分页查询等但是它并不能原生支持OData,我们需要自行实现。本文......
  • 纯电动车两档AMT变速箱的simulink控制模型,模型实现了AMT换档策略和换档过程仿真,模型效
    纯电动车两档AMT变速箱的simulink控制模型,模型实现了AMT换档策略和换档过程仿真,模型效果不错ID:17146674557676516......