Next.js

Vercel 维护的 React 全栈框架,支持 SSR/SSG/ISR/RSC 等多种渲染方式,内置 API 路由、图片优化、中间件等企业级特性,是 React 生态中最流行的全栈解决方案。

2016发布年份
Vercel维护方

核心特性

React Server Components

服务端组件零 Bundle 体积,可直接访问数据库和文件系统,与客户端组件无缝混合,流式渲染。

RSC流式渲染零JS体积

Server Actions

表单提交和服务端变更的新模式,无需编写 API 端点,直接在组件中调用服务端函数。

渐进增强类型安全乐观更新

多种渲染模式

SSR(服务端渲染)、SSG(静态生成)、ISR(增量静态再生)、PPR(部分预渲染)按需选择。

SSRSSGISRPPR

App Router

基于文件系统的路由,支持嵌套布局、并行路由、拦截路由、路由组等高级特性。

文件路由嵌套布局并行路由

内置功能

API Routes

在 Next.js 中直接编写 API 端点,支持 REST API 和 Route Handlers,无需额外后端服务。

Route HandlersAPI Routes

Image Optimization

内置 next/image 组件,自动优化图片格式、大小和懒加载,支持 WebP/AVIF。

next/image懒加载响应式

Font Optimization

next/font 自动内联 Google Fonts 和本地字体,消除布局偏移,零额外网络请求。

next/font零CLS自托管

Middleware

在请求完成之前运行代码,实现身份验证、A/B 测试、地理位置重定向等功能。

中间件Edge Runtime

Analytics

内置 Web Vitals 监控,与 Vercel Analytics 深度集成,自动收集性能指标。

Web VitalsSpeed Insights

Turbopack

基于 Rust 的打包工具,Webpack 的继任者,开发服务器启动速度提升 10 倍以上。

Rust增量编译极速HMR

快速入门

// app/page.tsx - Next.js App Router 页面
import { Suspense } from 'react';

// 服务端组件 - 零客户端 JS
async function getData() {
  const res = await fetch('https://api.example.com/data');
  return res.json();
}

// 客户端组件
'use client';
function Interactive() {
  const [count, setCount] = useState(0);
  return <button onClick={() => setCount(c => c + 1)}>{count}</button>;
}

export default async function Page() {
  const data = await getData();
  return (
    <main>
      <h1>{data.title}</h1>
      <Suspense fallback={<p>加载中...</p>}>
        <Interactive />
      </Suspense>
    </main>
  );
}

学习资源

官方文档

全面的指南、教程和 API 参考,包含交互式示例。

nextjs.org/docs →

Next.js Learn

官方免费课程,从零到一构建完整应用。

nextjs.org/learn →

Vercel 博客

最新版本发布公告和最佳实践。

vercel.com/blog →