用途:将当前项目升级到最新 Next.js 版本,并依据官方迁移指南处理破坏性变更。主要能力与流程:读取 package.json 识别当前 Next.js 版本及相关依赖(React、React DOM 等);通过 WebFetch 获取官方升级文档,包括 codemods 页面(https://nextjs.org/docs/app/guides/upgrading/codemods)以及版本指南(如 https://nextjs.org/docs/app/guides/upgrading/version-16、version-15、version-14,按需调整版本号);根据当前版本确定升级路径,跨大版本时增量升级(如 13 → 14 → 15)。用法:先运行 codemod,命令为 npx @next/codemod@latest <transform> <path>,常见 transform 有 next-async-request-api(更新异步 Request API,v15)、next-request-geo-ip(迁移 geo/ip 属性,v15)、next-dynamic-access-named-export(转换动态导入,v15);随后同步升级依赖:npm install next@latest react@latest react-dom@latest;再对照升级指南检查需手动修改的破坏性变更,如 API 变化(v15 中异步 params)、next.config.js 配置变化、被移除的废弃特性;如使用 TypeScript,安装 npm install @types/react@latest @types/react-dom@latest;最后运行 npm run build 检查构建错误,运行 npm run dev 测试关键功能。适用场景:需要按官方路径升级 Next.js 版本、减少手工迁移工作量的项目。限制:资料未提供支持的版本范围、codemod 覆盖范围、失败回滚方式及与其他框架的兼容性;具体破坏性变更以官方文档为准。
next-upgrade
编程与开发
更新于 10-16 09:32