用途:将当前项目升级到最新 Next.js 版本,流程参照官方迁移指南。
主要能力与用法:
- 检测版本:读取 package.json,识别当前 Next.js 版本及 React、React DOM 等相关依赖。
- 获取升级指南:通过 WebFetch 读取官方文档,包括 codemods 页面(https://nextjs.org/docs/app/building-your-application/upgrading/codemods)和版本专属指南,如 https://nextjs.org/docs/app/building-your-application/upgrading/version-15、https://nextjs.org/docs/app/building-your-application/upgrading/version-14。
- 确定升级路径:按当前版本判断适用迁移步骤;跨大版本时逐步升级,例如 13 → 14 → 15。
- 先运行 codemod:Next.js 提供自动化破坏性变更转换,命令为 npx @next/codemod@latest <transform> <path>。常见 transform 有 next-async-request-api(v15 异步 Request API)、next-request-geo-ip(v15 geo/ip 属性迁移)、next-dynamic-access-named-export(v15 动态导入)。
- 更新依赖:npm install next@latest react@latest react-dom@latest;如使用 TypeScript,再执行 npm install @types/react@latest @types/react-dom@latest。
- 人工复核破坏性变更:检查升级指南中的 API 变化(如 v15 的 async params)、next.config.js 配置变化以及被移除的废弃特性。
- 测试:运行 npm run build 检查构建错误,运行 npm run dev 测试关键功能。
限制:资料未提供该技能的具体执行环境、自动化程度、错误处理方式、支持的操作系统或包管理器范围,也未说明是否支持非 npm 项目,以上暂未提供。