客户端与服务端混合渲染特殊场景:路由与渲染模式判定问询
案例研究
- 拥有一个Node-Express服务器
- 服务器为每个页面渲染新的
.html文件并发送至客户端 - 每个
.html文件中包含:- 使用
EJS填充的部分动态内容(如导航栏中的用户名) - 页面的某一部分(位于
<div id='app'></div>内)是一个React应用(例如带筛选功能的表格视图) - 通过
<script src="___.js"></script>标签引入ReactJS、ReactDOM及自定义React代码
- 使用
- 每当客户端点击链接跳转至其他页面时,由服务器处理路由并生成新的
.html文件,该文件包含:- 部分动态内容(如导航栏中的用户名)
- 一个包含新React应用的div,React代码通过
script标签引入
问题
请问:该应用的路由是否采用Server-Side Routing(服务端路由),而渲染方式是否属于客户端与服务端混合渲染?
是的,你的应用确实采用了服务端路由,同时属于客户端与服务端混合渲染。
路由说明:
每次点击链接跳转页面时,路由逻辑完全由Node-Express服务器处理——服务器根据请求生成对应的全新.html文件并返回给客户端,整个路由决策和页面资源的生成过程都在服务端完成,这是典型的服务端路由模式。
渲染方式说明:
- 服务端渲染部分:导航栏用户名这类动态内容,是通过
EJS在服务端直接填充到HTML文件中的,这部分渲染工作由服务端完成; - 客户端渲染部分:
<div id='app'></div>内的React应用,是客户端浏览器加载完对应的React脚本后,在本地执行渲染的,属于客户端渲染范畴。
两者结合,就构成了服务端与客户端混合的渲染模式。
内容的提问来源于stack exchange,提问作者Rohan Hussain
相关产品推荐
相关产品推荐

