恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

Next.js 路由系统对比:Pages Router vs App Router

  • 首页
  • 资讯中心
  • /
  • Next.js 路由系统对比:Pages Router vs App Router

相关资讯

OpenClaw AI智能体安全平台部署与实战:从零构建自动化安全运营中心 2026/8/25 10:24:37
OpenClaw AI智能体框架实战:3步部署、3大核心Skill与5个应用案例详解 2026/8/25 10:24:37
nodejs - 全局变量讲解 2026/8/25 10:19:37

最新资讯

DataEase开源BI工具实战:从部署到二开,构建数据可视化看板
PsychAgent:基于深度强化学习与终身学习框架的AI心理咨询师架构解析
UVa 10632 Pyramid
DDPM——理论准备
Hexo+Netlify-CMS+Vercel:打造自动化静态博客工作流
Memanto:基于类型化语义记忆与信息论检索的长视野智能体架构设计

今日推荐

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南
洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表
Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

本周热门

Nextcloud 桌面客户端:把同步交给它,你只管改文件
如何将 HTML 转成 Word 文档且格式不丢失?html-to-docx 使用教程
Anki 批量操作卡片完整指南:一次搞定上千张,不再逐张修改

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

Next.js 路由系统对比:Pages Router vs App Router

发布时间:2026/8/25 10:24:37
Next.js 路由系统对比:Pages Router vs App Router 文章目录一、Pages Router1️. 基本概念2. 典型代码示例3. 优点4. 缺点二、App Router 新项目推荐使用1. 基本概念2. 典型代码示例Layout Page Metadata嵌套路由示例3. 优点4. 缺点三、主要区别对比四、选型建议Next.js 是 React的全栈框架自带路由系统。随着Next.js 13 / 15的发展官方推出了App Router与传统Pages Router共存。一、Pages Router1️. 基本概念目录pages/路由映射文件名对应 URL 路径pages/ index.js → / about.js → /about blog/[id].js → /blog/:id特点每个文件都是页面支持getStaticProps,getServerSideProps,getStaticPaths_app.js和_document.js管理全局布局和 HTML数据获取通过 page-level 函数完成2. 典型代码示例// pages/index.jsexportdefaultfunctionHome({posts}){return(divh1Welcome to My Blog/h1{posts.map((post)(div key{post.id}{post.title}/div))}/div);}// 数据获取exportasyncfunctiongetStaticProps(){constpostsawaitfetchPosts();return{props:{posts}};}3. 优点简单直观适合传统项目社区和示例多学习成本低支持 SSR、SSG 和 ISR4. 缺点布局复用复杂每页必须通过_app.js或 HOC 实现嵌套路由不方便没有原生 nested routing不支持 React Server ComponentsRSC不能像 App Router 那样在服务器直接渲染组件二、App Router 新项目推荐使用1. 基本概念目录app/路由映射文件夹对应 URLapp/ page.js → / about/page.js → /about blog/[id]/page.js → /blog/:id特点原生支持嵌套路由nested routing原生支持Server Components和Client Components使用layout.js实现全局和局部布局使用metadata配置全局 title、meta、Open Graph支持loading.js、error.js、template.js等页面状态2. 典型代码示例Layout Page Metadata// app/layout.jsexportconstmetadata{title:My Blog,description:Welcome to my blog,};exportdefaultfunctionRootLayout({children}){return(html langenbody{children}/body/html);}// app/page.jsexportdefaultfunctionHomePage(){returnh1Welcome to MyBlog(App Router)/h1;}嵌套路由示例app/ blog/ layout.js // blog 页面布局 [id]/ page.js // /blog/:id3. 优点嵌套路由和嵌套布局原生支持Server ComponentsClient Components优化性能页面级 metadata 管理更简单支持局部加载状态 (loading.js) 和错误边界 (error.js)更现代化的全局布局和字体管理4. 缺点学习成本较高需要理解 RSC社区和第三方库支持不如 Pages Router 广泛与旧项目迁移可能需要重构目录结构三、主要区别对比特性Pages RouterApp Router路由目录pages/app/文件到 URL 映射文件名 → 路径文件夹 page.js → 路径布局复用_app.js或 HOClayout.js 嵌套布局数据获取getStaticProps / getServerSidePropsServer Components fetch / asyncReact Server Components❌✅页面状态管理loading/error❌✅ loading.js / error.jsMetadata / SEOHead 组件手动管理metadata 自动生成学习曲线低高四、选型建议现在新项目只推荐使用 App Router。 感谢阅读想了解更多 我的博客网站 | 记录思考分享干货 我的个人主页 | 关于我、开源项目

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号