React项目服务端渲染

博客介绍了客户端渲染和服务端渲染的概念,客户端渲染在资源加载完后渲染,服务端渲染由服务端直接返回页面。还提到同构,即代码可在浏览器和Node.js环境运行。此外,阐述了Fetch用于同构应用的优点,如语法简洁、支持async/await等,也指出了Fetch请求的常见坑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

客户端渲染和服务端渲染

客户端渲染:页面在 JavaScript,CSS 等资源文件加载完毕后开始渲染,路由为客户端路由,也就是我们经常谈到的 SPA(Single Page Application)。
服务端渲染:页面由服务端直接返回给浏览器,路由为服务端路由,URL 的变更会刷新页面,原理与 ASP,PHP 等传统后端框架类似。
同构:英文表述为 Isomorphic 或 Universal,即编写的 JavaScript 代码可同时运行在浏览器及 Node.js 两套环境中,用服务端渲染来提升首屏的加载速度,首屏之后的路由由客户端控制,即在用户到达首屏后,整个应用仍是一个 SPA。
——引用于《服务端渲染与 Universal React App

同构,就是使前后端运行同一套代码的意思,后端一般是指Nodejs环境。Fetch 也很适合做现在流行的同构应用,有人基于 Fetch 的语法,在 Node 端基于 http 库实现了 node-fetch,又有人封装了用于同构应用的 isomorphic-fetch。
总结一下,Fetch 优点主要有:

  • 语法简洁,更加语义化
  • 基于标准 Promise 实现,支持 async/await
  • 同构方便,使用 isomorphic-fetch

fetch常见坑

  • Fetch 请求默认是不带 cookie 的,需要设置 fetch(url, {credentials: ‘include’})
  • 服务器返回 400,500 错误码时并不会 reject,只有网络错误这些导致请求不能完成时,fetch 才会被 reject。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值