SuperAPI AI 工具集

next-best-practices

通用与其它

查看项目

更新于 10-15 23:39

技能介绍

用途:在审查或实现 Next.js App Router 项目时提供实践参考,覆盖文件约定、RSC 边界、异步 API、数据模式、水合错误、元数据、路由处理器、图片与字体等主题。

主要能力:按受影响区域给出本地参考,包括路由文件与分组、proxy、服务端/客户端导入与 props、参数与请求 API、读取与变更、渲染与失败处理、元数据、资源加载、打包与运行时、并行路由、自托管与诊断。

使用方式:先读取已安装的 next 版本及 node_modules/next/dist/docs/ 下相关页面,项目配置优先;本地文档不可用时使用匹配的在线版本。文档随 16.2 打包,monorepo 中应读取应用自身的 next 包。可按文件名搜索本地文档,例如 find node_modules/next/dist/docs -name proxy.md。升级破坏性变更见 01-app/02-guides/upgrading/version-16.md。精确导出见 node_modules/next/{server,navigation,headers,cache}.d.ts。

Next.js 16 要点:同步请求访问已移除,cookies()、headers()、draftMode()、params、searchParams、sitemap id 均为 Promise;next typegen 生成全局 PageProps、LayoutProps、RouteContext 类型。middleware.ts 已弃用,proxy.ts 导出 proxy 或默认函数,仅运行于 Node.js 且拒绝 runtime 选项;需要 Edge 的代码仍留在 middleware.ts,可用 npx @next/codemod@latest middleware-to-proxy . 迁移。Turbopack 成为 dev 与 build 默认;next lint 移除,next build 不再 lint;serverRuntimeConfig/publicRuntimeConfig 移除。每个并行路由插槽需要 default.tsx。next/image 中 priority 弃用改为 preload,qualities 默认 [75],本地 src 带查询串需 images.localPatterns,images.domains 弃用改为 remotePatterns。revalidateTag(tag) 弃用,改为传入 profile 如 'max' 或 { expire: 0 };updateTag 与 refresh 仅限 Server Action。

限制:升级 codemod 不会迁移同步请求 API 访问,需单独运行 next-async-request-api。应针对实际失败或功能审查,而非套用所有优化;除非要求迁移,保留项目现有路由、缓存模式、运行时与包管理器。验证应使用项目 lint/typecheck 脚本与生产构建,并在 next start 下实际访问变更路由;dev 渲染可能掩盖预渲染/Suspense 问题,构建无法证明授权、水合、新鲜度或跨实例行为。需报告实际验证内容。