关于 nextjs
面向 Next.js 16 App Router 开发者的性能优化指南,整理了按影响优先级排列的规则,涵盖缓存、数据获取、路由和客户端组件等方面。
主要功能
- 01涵盖 8 类优化主题
- 02按影响程度排列规则
- 03提供缓存策略建议
- 04指导服务端数据获取
- 05涵盖路由与 Server Actions
- 06包含 SEO 和客户端组件建议
适用场景
- 01编写 Next.js 16 App Router 代码
- 02配置缓存与缓存失效
- 03优化服务端组件的数据加载
- 04实现路由、表单和加载状态
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ thongdn-it/ react-agent-skills --skill nextjs安装后在 Claude Code 中输入/nextjs确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
AGENTS.mdreferences/action-error-handling.mdaction-optimistic-updates.mdaction-pending-states.mdaction-revalidation.mdaction-server-action-forms.mdbuild-barrel-files.mdbuild-dynamic-imports.mdbuild-external-packages.mdbuild-optimize-package-imports.mdbuild-turbopack-config.mdcache-fetch-options.mdcache-react-cache.mdcache-revalidate-path.mdcache-revalidate-tag.mdcache-segment-config.mdcache-use-cache-directive.mdclient-children-pattern.mdclient-hydration-mismatch.mdclient-third-party-scripts.mdclient-use-client-boundary.mdmeta-generate-metadata.mdmeta-opengraph-images.mdmeta-robots.mdmeta-sitemap.mdroute-intercepting-routes.mdroute-not-found.mdroute-parallel-routes.mdroute-prefetching.mdroute-proxy-ts.md详细介绍
Next.js Community Next.js 16 App Router 最佳实践
为 Next.js 16 App Router 应用提供的全面性能优化指南,由 Next.js Community 维护。包含 8 个类别中的 40 条规则,并按影响程度排序,旨在指导自动重构和代码生成。
适用场景
在以下情况中参考这些指南:
- 编写新的 Next.js 16 App Router 代码
- 使用 'use cache' 指令配置缓存策略
- 实现服务器组件和数据获取
- 使用并行路由和拦截路由设置路由
- 创建服务器操作以处理表单和数据变更
按优先级划分的规则类别
| 优先级 | 类别 | 影响 | 前缀 |
|---|---|---|---|
| 1 | 构建与打包优化 | 严重 | build- |
| 2 | 缓存策略 | 严重 | cache- |
| 3 | 服务器组件与数据获取 | 高 | server- |
| 4 | 路由与导航 | 高 | route- |
| 5 | 服务器操作与数据变更 | 中高 | action- |
| 6 | 流式传输与加载状态 | 中 | stream- |
| 7 | 元数据与 SEO | 中 | meta- |
| 8 | 客户端组件 | 低中 | client- |
快速参考
1. 构建与打包优化(严重)
build-optimize-package-imports- 为图标库配置 optimizePackageImportsbuild-dynamic-imports- 对大型组件使用动态导入build-barrel-files- 在 App Router 中避免从 Barrel 文件导入build-turbopack-config- 启用 Turbopack 文件系统缓存build-external-packages- 为 Node 依赖配置服务器外部包
2. 缓存策略(严重)
cache-use-cache-directive- 使用 'use cache' 指令显式缓存cache-revalidate-tag- 将 revalidateTag 与 cacheLife 配置文件搭配使用cache-fetch-options- 正确配置 Fetch 缓存选项cache-revalidate-path- 使用 revalidatePath 使路由级缓存失效cache-react-cache- 使用 React cache() 去重请求cache-segment-config- 使用导出项配置路由片段缓存
3. 服务器组件与数据获取(高)
server-parallel-fetching- 在服务器组件中并行获取数据server-component-streaming- 流式传输服务器组件,实现渐进式加载server-data-colocation- 将数据获取与组件放在一起server-preload-pattern- 对关键数据使用预加载模式server-avoid-client-fetching- 避免在客户端获取初始数据server-error-handling- 妥善处理服务器组件错误
4. 路由与导航(高)
route-parallel-routes- 使用并行路由展示彼此独立的内容route-intercepting-routes- 使用拦截路由实现模态框模式route-prefetching- 合理配置链接预取route-proxy-ts- 使用 proxy.ts 处理网络边界逻辑route-not-found- 对缺失资源使用 notFound()
5. 服务器操作与数据变更(中高)
action-server-action-forms- 使用服务器操作提交表单action-pending-states- 使用 useFormStatus 显示待处理状态action-error-handling- 妥善处理服务器操作错误action-optimistic-updates- 使用乐观更新,即时反馈action-revalidation- 数据变更后重新验证缓存
6. 流式传输与加载状态(中)
stream-suspense-boundaries- 策略性地放置 Suspense 边界stream-loading-tsx- 使用 loading.tsx 设置路由级加载状态stream-error-tsx- 使用 error.tsx 设置路由级错误边界stream-skeleton-matching- 使骨架屏尺寸与实际内容匹配stream-nested-suspense- 嵌套使用 Suspense,实现渐进式呈现
7. 元数据与 SEO(中)
meta-generate-metadata- 使用 generateMetadata 设置动态元数据meta-sitemap- 动态生成站点地图meta-robots- 配置 Robots 以控制爬取meta-opengraph-images- 生成动态 OpenGraph 图片
8. 客户端组件(低-中)
client-use-client-boundary- 尽量缩小 'use client' 边界范围client-children-pattern- 将服务端组件作为子组件传递给客户端组件client-hydration-mismatch- 避免水合不匹配client-third-party-scripts- 高效加载第三方脚本
使用方法
阅读各个参考文件,了解详细说明和代码示例:
- 章节定义 - 分类结构和影响级别
- 规则模板 - 添加新规则的模板
- build-dynamic-imports - 规则文件示例
- cache-use-cache-directive - 规则文件示例
相关技能
- React 19 基础知识,请参阅
react-19技能 - 数据获取模式,请参阅
tanstack-query技能 - 客户端表单,请参阅
react-hook-form技能
完整编译文档
查看包含所有展开规则的完整指南:AGENTS.md
评论
支持 Markdown