用途:为 AI 代理提供 Next.js App Router 开发的实践准则,帮助在编码时遵循服务端优先、按需客户端化的原则。
主要能力与要点:
- 组件划分:需 useState、useEffect、事件处理时用客户端组件(标记 'use client');直接取数、无交互时用默认的服务端组件;两者兼备时拆分为服务端父组件加客户端子组件。
- 数据获取:默认静态缓存;revalidate 实现 ISR 定时刷新;no-store 表示每次请求动态获取。数据库走服务端组件取数,API 用带缓存的 fetch,用户输入用客户端状态配合服务端动作。
- 路由约定:page.tsx、layout.tsx、loading.tsx、error.tsx、not-found.tsx;支持路由组 (name)、并行路由 @slot、拦截路由 (.)。
- API 路由:GET/POST/PUT/PATCH/DELETE 对应读写改删;建议用 Zod 校验输入、返回正确状态码、优雅处理错误,尽量使用 Edge 运行时。
- 性能:用 next/image 并为首屏设置 priority、提供模糊占位与响应式尺寸;重量组件用动态导入,按路由自动分包,可用打包分析器检查。
- 元数据:静态导出用于固定元数据,generateMetadata 用于按路由动态生成;标题 50-60 字符、描述 150-160 字符,配合 Open Graph 图片与规范化 URL。
- 缓存:请求层用 fetch 选项,数据层用 revalidate/tags,整路由用路由配置;定时用 revalidate: 60,按需用 revalidatePath/Tag,禁用缓存用 no-store。
- Server Actions:适用于表单提交、数据变更与触发再验证;标记 'use server',校验全部输入,返回带类型的响应并处理错误。
- 反模式:避免到处 'use client'、在客户端组件取数、忽略加载与错误边界、产生过大客户端包。
使用方式:作为可安装技能接入代理后,在 Next.js 项目中按上述原则生成与审查代码。资料未提供具体安装命令与调用步骤。
适用场景:Next.js App Router 应用开发、代码审查与重构建议。
限制:资料未说明支持的 Next.js 版本范围、收费与价格;实际效果暂未提供。