Next.js 的 App Router 和 Pages Router 有什么区别?
Next.js 有两套路由:
- Pages Router(传统):基于
pages/目录,每个文件是一个路由;用getServerSideProps/getStaticProps做数据获取 - App Router(Next 13+ 推荐):基于
app/目录,支持React Server Components、嵌套布局、更细的加载/错误边界;用async组件 +fetch直接取数
app/
layout.tsx // 根布局(必需)
page.tsx // / 路由
dashboard/
layout.tsx // 嵌套布局
page.tsx选型:新项目用 App Router;老项目继续 Pages Router 或渐进迁移。App Router 的 Server Component 能减少客户端 JS 体积。