SuperAPI AI 工具集

nextjs-best-practices

前端与建站

查看项目

更新于 10-16 05:45

技能介绍

用途:为 AI 代理提供 Next.js App Router 开发的实践准则,帮助在编码时遵循服务端优先、按需客户端化的原则。

主要能力与要点:

  1. 组件划分:需 useState、useEffect、事件处理时用客户端组件(标记 'use client');直接取数、无交互时用默认的服务端组件;两者兼备时拆分为服务端父组件加客户端子组件。
  2. 数据获取:默认静态缓存;revalidate 实现 ISR 定时刷新;no-store 表示每次请求动态获取。数据库走服务端组件取数,API 用带缓存的 fetch,用户输入用客户端状态配合服务端动作。
  3. 路由约定:page.tsx、layout.tsx、loading.tsx、error.tsx、not-found.tsx;支持路由组 (name)、并行路由 @slot、拦截路由 (.)。
  4. API 路由:GET/POST/PUT/PATCH/DELETE 对应读写改删;建议用 Zod 校验输入、返回正确状态码、优雅处理错误,尽量使用 Edge 运行时。
  5. 性能:用 next/image 并为首屏设置 priority、提供模糊占位与响应式尺寸;重量组件用动态导入,按路由自动分包,可用打包分析器检查。
  6. 元数据:静态导出用于固定元数据,generateMetadata 用于按路由动态生成;标题 50-60 字符、描述 150-160 字符,配合 Open Graph 图片与规范化 URL。
  7. 缓存:请求层用 fetch 选项,数据层用 revalidate/tags,整路由用路由配置;定时用 revalidate: 60,按需用 revalidatePath/Tag,禁用缓存用 no-store。
  8. Server Actions:适用于表单提交、数据变更与触发再验证;标记 'use server',校验全部输入,返回带类型的响应并处理错误。
  9. 反模式:避免到处 'use client'、在客户端组件取数、忽略加载与错误边界、产生过大客户端包。

使用方式:作为可安装技能接入代理后,在 Next.js 项目中按上述原则生成与审查代码。资料未提供具体安装命令与调用步骤。

适用场景:Next.js App Router 应用开发、代码审查与重构建议。

限制:资料未说明支持的 Next.js 版本范围、收费与价格;实际效果暂未提供。