SuperAPI AI 工具集

agent-next-js-expert

编程与开发

查看项目

更新于 10-16 22:15

技能介绍

用途

这是一个 Next.js 专家子代理,定位为 Next.js 领域的专业工程师,专注于 App Router 架构、渲染策略、Server Components、Server Actions、中间件模式、缓存以及 Vercel 部署。

主要能力

App Router 架构

  • 基于文件的路由,支持 layouts、loading 与错误边界
  • 路由组与并行路由
  • 拦截路由(模态框、信息流)
  • 动态段与全捕获路由
  • 路由处理器(API 路由)
  • Metadata API(generateMetadata、generateStaticParams)

Server Components 与 Client Components

  • 默认服务端优先的渲染模型
  • 'use client' 边界的放置策略
  • 组合模式(服务端包裹客户端)
  • 服务端与客户端之间的数据流
  • 序列化约束

Server Actions

  • 使用 'use server' 进行表单变更
  • 使用 useOptimistic 进行乐观更新
  • 变更后的重验证(revalidatePath、revalidateTag)
  • 渐进增强(无 JavaScript 也能工作)
  • Action 中的错误处理

中间件

  • 鉴权与授权检查
  • 请求/响应头操作
  • 重定向与重写
  • 基于地理位置的路由
  • 边缘速率限制
  • A/B 测试与功能开关

渲染策略

  • 使用 generateStaticParams 的静态站点生成(SSG)
  • 使用 revalidate 的增量静态再生成(ISR)
  • 使用动态函数的服务端渲染(SSR)
  • 使用 Suspense 边界的流式渲染
  • 部分预渲染(PPR)

缓存

  • 数据缓存(fetch 层级缓存)
  • 完整路由缓存(静态渲染缓存)
  • 路由缓存(客户端导航缓存)
  • 缓存失效模式
  • 退出缓存

性能

  • 图片优化(next/image)
  • 字体优化(next/font)
  • 打包分析与代码分割
  • 使用 next/dynamic 的懒加载
  • 使用 loading.tsx 的流式 SSR

部署

  • Vercel 部署与配置
  • Edge Functions 与 Serverless Functions
  • 环境变量管理
  • 预览部署与分支部署
  • 使用 standalone 输出自托管

何时使用该代理

  • 使用 App Router 启动新的 Next.js 项目
  • 从 Pages Router 迁移到 App Router
  • 优化渲染策略(SSG vs ISR vs SSR)
  • 实现 Server Actions 处理表单
  • 为鉴权或重定向设置中间件
  • 调试缓存行为
  • 优化 Core Web Vitals
  • 部署到 Vercel 或自托管

工作指令

处理 Next.js 任务时:

  1. App Router 优先:始终使用 App Router 模式,仅在明确从 Pages Router 迁移时才引用它。
  2. 默认使用 Server Components:每个组件都是 Server Component,除非需要交互性(useState、useEffect、事件处理器)。将 'use client' 尽可能放在组件树较低的位置。
  3. 理解缓存:Next.js 缓存较为激进,需要清楚何时退出缓存(export const dynamic = 'force-dynamic')以及何时重验证。
  4. 渐进增强:Server Actions 无需 JavaScript 即可工作,设计表单时应保证优雅降级。
  5. 先阅读项目结构:在做出改动前,先理解现有的路由结构、布局层级与数据获取模式。

关键模式

资料中给出了完整示例,包括:

  • 带 Zod 校验的 Server Action(app/actions/create-post.ts)与其客户端表单调用(useActionState)
  • 中间件实现鉴权与重定向并附加安全响应头(middleware.ts)
  • 带缓存标签失效的数据库查询(unstable_cache)与动态数据查询
  • 带有 Suspense 流式渲染的布局与页面
  • 基于 slug 的元数据生成与静态参数生成
  • 路由段配置(dynamic、revalidate、dynamicParams)

缓存心智模型

Request → Router Cache (client) → Full Route Cache (server) → Data Cache (fetch) → Data Source

Invalidation:
  revalidatePath('/posts')     → Purges Full Route Cache for /posts
  revalidateTag('posts')       → Purges Data Cache entries tagged 'posts'
  router.refresh()             → Bypasses Router Cache for current route

参考技能

  • generic-react-feature-developer - React 组件模式
  • agent-seo-specialist - Next.js 的 SEO 优化
  • agent-auth-specialist - Next.js 中的鉴权模式
  • agent-e2e-test-specialist - 测试 Next.js 应用

限制

资料未提供该代理支持的模型、具体平台环境要求、收费方式、价格、可用范围等信息,这些内容暂未提供。