用途:这是面向 Next.js App Router 的开发技能,在用户提出“创建 Next.js 路由”“添加页面”“设置布局”“实现加载状态”“添加错误边界”等需求时使用,帮助按官方文件约定组织路由与 UI。
主要能力:讲解基于 React Server Components 的 app/ 目录文件系统路由。特殊文件包括 page.tsx(路由唯一 UI 并使其可公开访问)、layout.tsx(跨导航保持状态的共享包装)、loading.tsx(基于 React Suspense 的加载 UI)、error.tsx(路由段错误边界)、not-found.tsx(404 响应 UI)、template.tsx(类似 layout 但导航时重新渲染)、default.tsx(并行路由回退)。
文件夹约定:folder/ 为路由段;[folder]/ 为动态段;[...folder]/ 为捕获所有段;[[...folder]]/ 为可选捕获所有段;(folder)/ 为不影响 URL 的路由组;@folder/ 为并行路由命名插槽;_folder/ 为不参与路由的私有文件夹。
使用方式:创建路由时新建文件夹并加入 page.tsx,例如 app/about/page.tsx 对应 /about,app/blog/[slug]/page.tsx 对应 /blog/:slug。动态路由通过 params prop 获取参数(示例中为 Promise 并 await)。根布局 app/layout.tsx 必须包含 html 与 body;嵌套布局包裹子级并保持状态;用 app/dashboard/loading.tsx 提供即时加载态,用 app/dashboard/error.tsx(带 'use client'、error 与 reset)处理错误。路由组如 app/(marketing)/about/page.tsx 生成 /about。元数据可静态导出 metadata,或用 generateMetadata 结合 params 动态生成。
关键模式:就近放置组件、测试与样式;用 _folder 存放非路由文件;用 (folder) 组织而不影响 URL;用 @slot 实现复杂布局;用 (.) 拦截路由实现模态框。
限制与补充:资料提供 references/routing-conventions.md、references/layouts-templates.md、references/loading-error-states.md、examples/dynamic-routes.md、examples/parallel-routes.md 作为深入参考。其余安装步骤、平台要求、收费与效果信息暂未提供。