SuperAPI AI 工具集

nextjs

前端与建站

查看项目

更新于 10-16 02:03

技能介绍

用途

该技能为现代 Web 应用提供全面的 Next.js 开发能力。当工作涉及以下内容时激活:Next.js App Router、Server Components 与 Client Components、API Routes 与 Server Actions、静态站点生成(SSG)、服务端渲染(SSR)。

主要能力

项目结构(App Router)

技能给出了 App Router 的目录组织方式,包括根布局 layout.tsx、首页 page.tsx、加载 UI loading.tsx、错误处理 error.tsx、404 页面 not-found.tsx、全局样式 globals.css,以及嵌套路由(如 agents/[id]/edit)、API 路由(api/agents/route.ts、api/agents/[id]/route.ts)和路由组((dashboard))。

Server Components(默认)

Server Component 可直接访问数据库,无需额外 API。示例中在 app/agents/page.tsx 内直接执行数据库查询并渲染列表。

Client Components

通过文件顶部 'use client' 声明客户端组件,可使用 useState 等 React 状态钩子,示例为 AgentSelector 组件。

数据获取

Server Component 支持自动请求去重,fetch 可配置缓存策略:cache: 'force-cache'(默认永久缓存)、cache: 'no-store'(不缓存)、next: { revalidate: 60 }(每 60 秒重新验证)。

重新验证

支持基于时间的重新验证(export const revalidate = 60)和按需重新验证(revalidatePath、revalidateTag)。

Server Actions

在函数内使用 'use server' 声明,可处理表单提交、写入数据库,并配合 revalidatePath 与 redirect 完成跳转。

API Routes

在 app/api 下使用 route.ts 定义 GET、POST 等处理函数,通过 NextRequest 读取查询参数与请求体,使用 NextResponse.json 返回响应,并支持动态段 [id] 与 404 处理。

布局与加载状态

根布局接收 children 并包裹导航与页脚;loading.tsx 提供加载 UI;error.tsx 为客户端组件,接收 error 与 reset 以支持重试。

中间件

middleware.ts 可进行鉴权检查(如读取 cookie 中的 token 并重定向到 /login)、添加响应头,并通过 config.matcher 指定匹配路径。

环境变量

.env.local 中定义变量;服务端专用变量(如 DATABASE_URL)仅在服务端可读,NEXT_PUBLIC_ 前缀变量会暴露给浏览器。

构建命令

开发:npm run dev;生产构建:npm run build 与 npm start;静态导出:npm run build,并在 next.config.js 中设置 output: 'export'。

使用方式

在涉及 Next.js 应用开发、SSR、SSG 或 React Server Components 的任务中激活该技能,按上述模式组织路由、组件、数据获取与部署配置。

适用场景

适用于构建现代 Web 应用,尤其是需要 App Router、服务端渲染、静态生成、API 路由、Server Actions 与中间件的 Next.js 项目。

限制

资料未提供该技能的收费、价格、平台支持范围或效果保证等信息,暂未提供。