SuperAPI AI 工具集

nextjs-best-practices

前端与建站

查看项目

更新于 10-16 02:33

技能介绍

用途:为 Next.js App Router 开发提供一套实践原则,指导组件划分、数据获取、路由组织、缓存与性能优化。

主要能力:

  1. 组件划分:默认使用 Server Component;需要 useState、useEffect、事件处理时用 Client Component('use client');两者都需要时拆分为 Server 父组件 + Client 子组件。
  2. 数据获取:默认静态缓存;revalidate 实现 ISR;no-store 每次请求动态获取。数据库走 Server Component fetch,API 用带缓存的 fetch,用户输入用客户端状态 + Server Action。
  3. 路由约定:page.tsx、layout.tsx、loading.tsx、error.tsx、not-found.tsx;路由组 (name) 不影响 URL,并行路由 @slot,拦截路由 (.) 用于模态。
  4. API 路由:Route Handler 支持 GET/POST/PUT/PATCH/DELETE;建议用 Zod 校验输入、返回正确状态码、优雅处理错误、尽量用 Edge runtime。
  5. 性能:使用 next/image,首屏设 priority,提供 blur 占位与响应式尺寸;重组件动态导入,路由级自动代码分割,用 bundle analyzer 分析。
  6. 元数据:静态导出或 generateMetadata 动态生成;title 50-60 字符,description 150-160 字符,含 Open Graph 图片与 canonical URL。
  7. 缓存:请求层用 fetch options,数据层用 revalidate/tags,整路由用 route config;支持时间型 revalidate: 60、按需 revalidatePath/Tag、no-store 不缓存。
  8. Server Actions:用于表单提交、数据变更、触发重新验证;标记 'use server',校验所有输入,返回类型化响应并处理错误。
  9. 反模式:避免到处 'use client'、在客户端组件中获取数据、忽略 loading 与 error 边界、产生过大客户端包。
  10. 项目结构:app/ 下按 (marketing)、(dashboard) 等路由组组织,api/[resource]/route.ts 放接口,components/ui 放 UI 组件。

使用方式:作为开发时的参考原则,按上述决策树与约定编写代码。

限制:资料未提供具体安装命令、版本要求、收费信息或效果数据,暂未提供。