Next.js 是基于 React 的开源框架,支持开箱即用的 SSR、SSG 和混合渲染,提供自动路由、内置 CSS/图片优化及 ISR 等能力,补足 React 在服务端、构建和部署方面的缺失。

Next.js 是一个基于 React 的开源框架,它让构建服务端渲染(SSR)、静态站点生成(SSG)和混合渲染的 Web 应用变得非常简单——不需要手动配置 Webpack、Babel 或服务器逻辑,开箱即用。
自动服务端渲染(SSR)支持
默认情况下,Next.js 会为每个页面组件在服务器端执行 getServerSideProps 函数,把数据提前获取并注入到页面中,再将已渲染的 HTML 发送给浏览器。这样用户首次访问就能看到完整内容,提升 SEO 和首屏加载体验。
- 你只需在页面文件中导出一个 getServerSideProps 函数,Next.js 自动在每次请求时调用它
- 返回的对象会作为 props 传入页面组件,且只在服务端运行,不会出现在客户端代码里
- 无需自己搭建 Node.js 服务或处理请求/响应生命周期
文件系统即路由,零配置路由系统
Next.js 把 pages 目录下的文件结构直接映射为 URL 路由,比如 pages/blog/[id].js 对应 /blog/123。这种约定优于配置的方式,省去了 React Router 的手动路由定义和 SSR 适配工作。
- 动态路由参数通过 getServerSideProps 的 context.params 获取
- 嵌套路由、404 页面、API 路由(pages/api/xxx.js)都按规则自动生成
- 服务端渲染的路由跳转(如 next/link)还能自动启用客户端导航,避免整页刷新
内置 CSS 和静态资源支持
Next.js 原生支持 CSS Modules、Sass、CSS-in-JS(如 styled-jsx),还自动优化图片(next/image)、字体和脚本加载。这些能力在 SSR 场景下尤其重要——比如图片懒加载、响应式尺寸、WebP 格式降级,都由框架在服务端渲染阶段就处理好了。
立即学习“Java免费学习笔记(深入)”;
- next/image 会根据用户设备 UA 和屏幕宽度,在服务端生成合适尺寸和格式的图片 URL
- 样式不会闪动:CSS 在服务端注入,确保首屏样式即时生效
- 所有静态资源自动带哈希、开启 HTTP 缓存,CDN 友好
增量静态再生(ISR)与混合渲染能力
Next.js 允许你在静态生成(SSG)的基础上,对某些页面启用 getStaticProps + revalidate,实现“构建时生成 + 运行时按需更新”。这比纯 SSR 更高效,又比纯静态更灵活。
- 适合内容更新不频繁但又不能接受 stale 数据的场景,比如博客列表页
- 首次访问返回预生成页面,之后每 revalidate 秒后台静默重新生成一次
- 同一应用中可混用 SSR、SSG、CSR 页面,按需选择渲染策略
基本上就这些。Next.js 不是替代 React,而是补足了 React 在服务端、路由、构建、部署等环节的缺失能力,让 SSR 不再是“需要专家配置的高阶技巧”,而变成一种自然、一致、可维护的开发方式。










