SuperAPI AI 工具集

nextjs-best-practices

前端与建站

查看项目

更新于 10-16 05:45

技能介绍

用途:为 Next.js App Router 开发提供一套原则性指引,覆盖组件模型、数据获取、路由、API、性能、元数据、缓存与 Server Actions,并列出常见反模式。

主要能力:一、组件划分。默认使用服务端组件;需要 useState、useEffect 或事件处理时用客户端组件('use client');两者都需要时拆分为服务端父组件 + 客户端子组件。二、数据获取。默认静态缓存、revalidate 做 ISR、no-store 做动态请求;数据库走服务端组件 fetch,API 用带缓存的 fetch,用户输入用客户端状态加 Server Action。三、路由约定。page.tsx、layout.tsx、loading.tsx、error.tsx、not-found.tsx 分别对应页面、布局、加载态、错误边界与 404;路由组 (name)、并行路由 @slot、拦截路由 (.) 用于组织与模态覆盖。四、API 路由。Route Handlers 按 GET/POST/PUT/PATCH/DELETE 对应读写更新删除,建议用 Zod 校验输入、返回正确状态码、优雅处理错误,并尽可能使用 Edge runtime。五、性能。用 next/image 优化图片,首屏设 priority,提供 blur 占位与响应式尺寸;对重组件用动态导入,利用自动的路由级代码分割,并用 bundle analyzer 分析。六、元数据。静态导出或 generateMetadata 动态生成;title 约 50-60 字符,description 约 150-160 字符,并配置 Open Graph 图片与 canonical URL。七、缓存。分请求层(fetch 选项)、数据层(revalidate/tags)、整路由层(route config);支持时间 revalidate: 60、按需 revalidatePath/Tag、以及 no-store 不缓存。八、Server Actions。用于表单提交、数据变更与触发重新验证;需标记 'use server'、校验所有输入、返回带类型响应并处理错误。九、反模式。避免到处 'use client'、在客户端组件中获取数据、跳过加载态、忽略错误边界、产生过大的客户端包。十、项目结构示例:app/ 下按路由组、布局、api 与 components 组织。核心提醒:服务端组件是默认选择,先从此出发,仅在需要时添加客户端组件。限制:本资料未提供安装命令、依赖版本、收费信息或具体代码示例,相关细节暂未提供。