各位开发者,大家好!欢迎来到今天的“前端架构实战”讲座。我是你们的老朋友,那个发誓再也不写 jQuery 代码,结果最后还是被重构折磨得死去活来的资深工程师。 今天我们要聊一个非常有意思,甚至有点“反直觉”的话题:React 预渲染。 我知道,听到“预渲染”三个字,你脑海里可能浮现出的是 Next.js 或者 Nuxt.js 的官方文档,或者是 react-snap 那个略显老派的 CLI 工具。但今天,我要带你们撕开这些框架的外衣,看看在底层,我们到底在玩什么把戏。我们要探讨的是一种基于构建期的静态页面生成与动态注入的混合渲染架构。 听起来很高大上,对吧?其实说白了,这就是一种“诈尸”技术——让 HTML 在你还没死(用户还没打开网页)之前,先准备好,甚至活动一下筋骨。 第一部分:为什么我们要在这个时候聊“预渲染”? 让我们先回到两年前。那时候,我们大多数人在做 React 项目时,信奉的是什么?是 CSR(Client-Side Rendering,客户端渲染)。 CSR 的流程是这样的: 浏览器下载一个空的 index.html。 浏览器解析 HTML,发现里面只有 <di …