Next.js 是由 Vercel 团队开发和维护的 React 全栈 Web 框架,官方定位为「The React Framework」。它基于 React 之上提供了路由、渲染、数据获取、构建优化等完整能力,让开发者用同一套代码栈覆盖前端页面与后端逻辑。 项目采用 MIT 许可证开源,自 2016 年发布以来持续演进,截至 2026 年 10 月,GitHub 仓库已获 143.1k Star、34.3k Fork,被全球 510 万+ 个项目使用,拥有 3,892 名贡献者。
项目历史
| 时间 | 版本 | 里程碑 |
|---|---|---|
| 2016 | Next.js 1.0 | 由 ZEIT(后更名 Vercel)团队创建,采用 Pages Router + Webpack,解决 React SSR 痛点 |
| 2019 | Next.js 9 | 引入 Image Optimization、国际化路由、CSS -in-JS 支持 |
| 2020 | Next.js 10 | 内置 TypeScript 5 支持、SWC 编译器 Beta |
| 2022 | Next.js 13 | 引入 App Router 及 React Server Components (RSC),Turbopack Beta |
| 2024 | Next.js 15 | Turbopack 引入生态但处于 Beta;SWC 冷启动编译从 120s 降至 28s |
| 2025 | Next.js 16 | Turbopack 成为默认打包器,取代 Webpack;深度整合 React Compiler 与 AI Agent 开发支持 |
| 2026.06 | Next.js 16.2 | 开发服务器启动速度提升 400%,Turbopack Server Fast Refresh 正式推荐 |
| 2026.08 | Next.js 16.3 | Turbopack 内存占用最高降低 90%,新增 Instant Navigations 即时导航 |
| 2026.10 | Next.js 16.4.0 | 最新稳定版(canary 分支持续迭代中) |
核心架构
| 层级 | 说明 |
|---|---|
| 前端 UI | React 组件,支持函数组件 + Hooks |
| 路由层 | App Router(基于文件系统,支持嵌套布局、并行路由、拦截器) / Pages Router(传统方式) |
| 渲染层 | 服务端组件 (RSC)、客户端组件 (Client Components)、流式 SSR、静态生成 (SSG)、增量静态再生 (ISR) |
| 构建工具 | Turbopack(Rust 编写,默认打包器)+ SWC 编译器;仍支持 --webpack 回退 |
| 后端能力 | API Routes、Server Actions、中间件 (Middleware)、Edge Runtime |
| 缓存机制 | use cache 指令 + Cache Components + cacheLife/cacheTag 细粒度缓存控制 |
| 部署平台 | Vercel(原生集成)、任意 Node.js 服务器、Docker、边缘运行时 |
关键能力
- App Router + React Server Components:组件级服务端渲染与客户端交互分离,减少浏览器端 JS 体积,支持流式传输与嵌套布局
- Turbopack 默认构建:Rust 编写的下一代打包器,开发热更新与生产构建速度较 Webpack 有数量级提升;Next.js 16 起成为默认
- React Compiler 内置:稳定集成 React Compiler,自动记忆化组件逻辑,减少手写
useMemo/useCallback的负担 - 全栈一体化:API Routes、Server Actions、中间件、图片优化 (
next/image)、元数据 API 开箱即用 - 多种渲染模式:SSR(服务端渲染)、SSG(静态生成)、ISR(增量静态再生)、流式 SSR 灵活组合
- Instant Navigations(16.3 新增):可选工具集,在保留服务端架构的前提下实现 SPA 级别的即时页面跳转
- AI Agent 友好:原生支持
AGENTS.md配置,为 Claude Code、Cursor 等 AI 编码工具提供项目上下文
生态与部署
- Vercel:官方推荐部署平台,与 Next.js 深度集成,一键部署 + 自动 CI/CD + Edge Network
- Node.js 服务器:可部署到任意支持 Node.js 的环境(AWS、GCP、Azure、自托管等)
- Docker:官方提供 Docker 镜像,支持容器化部署
- 边缘运行时:支持 Cloudflare Workers、Fastly 等边缘平台(16.x 起逐步迁移至
proxy.ts约定) - 前端生态:Tailwind CSS(默认集成)、Prisma、tRPC、Supabase、Auth.js 等主流库均有官方适配
主要局限
- 学习曲线较陡:App Router 概念多(Server Components、Client Components、Server Actions、Cache 等),新手上手有一定门槛
- Vercel 绑定感:虽然可部署到任意平台,但最佳体验在 Vercel,部分高级功能(如 Edge Functions)依赖 Vercel 生态
- 包体积偏大:相比 Astro/SvelteKit 等轻量框架,客户端 JS 体积较大(但 Turbopack 和 RSC 正在逐步改善)
- 服务端组件生态尚在成长:RSC 相对较新,部分第三方 UI 库尚未完全适配 Server Components 模式
选型建议
- 选 Next.js:需要 React 全栈能力、SEO 友好、复杂交互应用、企业级项目、需要 SSR/SSG/ISR 灵活组合
- 不选 Next.js:纯内容型网站(考虑 Astro)、追求极致轻量(考虑 SvelteKit)、团队熟悉 Vue(考虑 Nuxt)
- 趋势:2026 年起,Next.js 正从「React 框架」演进为「React 全栈开发标准平台」,Turbopack 默认化 + React Compiler 集成 + AI Agent 适配,进一步巩固其在 React 生态中的主导地位