SuperAPI AI 工具集

nextjs-best-practices

前端与建站

查看项目

更新于 10-15 20:21

技能介绍

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

主要能力:

  1. 组件划分:默认使用服务端组件;需要 useState、useEffect 或事件处理时用客户端组件('use client');两者都需要时拆分为服务端父组件加客户端子组件。
  2. 数据获取:默认静态缓存,revalidate 实现 ISR,no-store 为动态请求;数据库走服务端组件,API 用带缓存的 fetch,用户输入用客户端状态加 Server Action。
  3. 路由约定:page.tsx、layout.tsx、loading.tsx、error.tsx、not-found.tsx;支持路由组 (name)、并行路由 @slot、拦截路由 (.)。
  4. API 路由:Route Handlers 支持 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 选项,数据层用 revalidate/tags,整路由用 route config;支持基于时间、按需(revalidatePath/Tag)与不缓存。
  8. Server Actions:用于表单提交、数据变更与触发重新验证;需标记 'use server'、校验输入、返回类型化响应并处理错误。
  9. 反模式:避免到处 'use client'、在客户端组件中获取数据、忽略 loading 与 error 边界、产生过大的客户端包。
  10. 项目结构:app/ 下按路由组、layout、api/[resource]/route.ts 与 components/ui 组织。

使用方式:资料未提供具体安装命令或调用步骤,仅说明该技能适用于执行上述工作流或操作。

适用场景:Next.js App Router 项目的架构设计、代码审查与性能优化。

限制:资料未提供版本要求、依赖、收费与平台信息。