SuperAPI AI 工具集

next-best-practices

编程与开发

查看项目

更新于 10-15 08:33

技能介绍

用途

Next.js Best Practices 是一个面向 Next.js 开发的最佳实践技能,用于在编写或审查 Next.js 代码时应用统一的规则。它围绕多个主题组织,每个主题对应一份说明文档(如 file-conventions.md、rsc-boundaries.md 等),便于按需查阅。

主要能力与覆盖主题

  • 文件约定(File Conventions):项目结构与特殊文件、路由段(动态、全捕获、分组)、并行与拦截路由,以及 v16 中中间件重命名(middleware → proxy)。
  • RSC 边界(RSC Boundaries):检测无效的 React Server Component 模式,包括异步客户端组件检测(无效)、非序列化 props 检测、Server Action 异常。
  • 异步模式(Async Patterns):Next.js 15+ 的异步 API 变更,涵盖异步 params 和 searchParams、异步 cookies() 和 headers(),以及迁移 codemod。
  • 运行时选择(Runtime Selection):默认使用 Node.js 运行时,以及何时适合使用 Edge 运行时。
  • 指令(Directives):'use client'、'use server'(React)与 'use cache'(Next.js)。
  • 函数(Functions):导航钩子 useRouter、usePathname、useSearchParams、useParams;服务端函数 cookies、headers、draftMode、after;生成函数 generateStaticParams、generateMetadata。
  • 错误处理(Error Handling):error.tsx、global-error.tsx、not-found.tsx;redirect、permanentRedirect、notFound;forbidden、unauthorized(认证错误);用于 catch 块的 unstable_rethrow。
  • 数据模式(Data Patterns):Server Components vs Server Actions vs Route Handlers;避免数据瀑布(Promise.all、Suspense、preload);客户端组件数据获取。
  • 路由处理器(Route Handlers):route.ts 基础;GET 处理器与 page.tsx 的冲突;环境行为(无 React DOM);何时使用它而非 Server Actions。
  • 元数据与 OG 图片(Metadata & OG Images):静态与动态元数据、generateMetadata 函数、使用 next/og 生成 OG 图片、基于文件的元数据约定。
  • 图片优化(Image Optimization):始终使用 next/image 而非 <img>、远程图片配置、响应式 sizes 属性、模糊占位符、LCP 的优先加载。
  • 字体优化(Font Optimization):next/font 设置、Google Fonts、本地字体、Tailwind CSS 集成、预加载子集。
  • 打包(Bundling):与服务器不兼容的包、CSS 导入(而非 link 标签)、Polyfills(已内置)、ESM/CommonJS 问题、包分析。
  • 脚本(Scripts):next/script vs 原生 script 标签、内联脚本需要 id、加载策略、使用 @next/third-parties 接入 Google Analytics。
  • 水合错误(Hydration Errors):常见原因(浏览器 API、日期、无效 HTML)、使用错误覆盖层调试、针对每种原因的修复。
  • Suspense 边界(Suspense Boundaries):使用 useSearchParams 和 usePathname 时的 CSR 退出、哪些钩子需要 Suspense 边界。
  • 并行与拦截路由(Parallel & Intercepting Routes):使用 @slot 和 (.) 拦截器的模态模式、用于兜底的 default.tsx、使用 router.back() 正确关闭模态。
  • 自托管(Self-Hosting):用于 Docker 的 output: 'standalone'、多实例 ISR 的缓存处理器、哪些可用与哪些需要额外配置。
  • 调试技巧(Debug Tricks):用于 AI 辅助调试的 MCP 端点、使用 --debug-build-paths 重建特定路由。

使用方式

在编写或审查 Next.js 代码时应用这些规则,并根据需要查阅对应的说明文档(如 rsc-boundaries.md、async-patterns.md 等)。

适用场景

适用于 Next.js 项目的开发与代码审查,尤其是涉及 React Server Components、数据获取、路由、优化与错误处理的场景。

限制

以上内容为资料中列出的主题与要点,未提供具体代码示例、版本兼容矩阵或性能数据;部分主题(如自托管、调试)的详细步骤需查阅对应文档,资料本身未展开。